Docker的學(xué)習(xí)總結(jié)一:Docker簡(jiǎn)介、安裝和常用命令

本小節(jié)總結(jié)以下的幾點(diǎn)

  • 容器技術(shù)和Docker的簡(jiǎn)介
  • Docker的安裝
  • Docker的常用命令

一酌儒、容器技術(shù)和Docker的簡(jiǎn)介

  • 問題:為什么會(huì)出現(xiàn)容器技術(shù)呢笤喳?
    很久以前为居,我們要在一臺(tái)物理設(shè)備上進(jìn)行部署,那么我們就需要在上面裝上操作系統(tǒng)win或者linux杀狡,然后在操作系統(tǒng)上面裝我們所要用的application蒙畴。
    這種模式的缺點(diǎn):
    1、部署慢呜象,需要服務(wù)器膳凝,需要按系統(tǒng),需要安裝app
    2恭陡、成本很高蹬音,需要物理的服務(wù)器
    3、資源的浪費(fèi)休玩,服務(wù)器資源太多了 著淆,內(nèi)存和CPU用不完
    4、難以遷移和擴(kuò)展拴疤。擴(kuò)展是說app消耗很大永部,本臺(tái)服務(wù)器的資源不夠了,這個(gè)時(shí)候就需要擴(kuò)展來滿足需求呐矾。
    5苔埋、可能被限定的廠商給限定死了。

  • 針對(duì)以上的缺點(diǎn)蜒犯,就出現(xiàn)我們熟悉的虛擬機(jī)组橄。
    虛擬技術(shù)就是在以前的服務(wù)器上加上了一層Hypervisor荞膘,去做物理資源的調(diào)度,比如CPU晨炕、內(nèi)存等資源衫画,然后再在這個(gè)Hypervisor上,去裝虛擬機(jī)VM瓮栗。我們底層的物理服務(wù)器的資源還是挺多的削罩。這樣我們就能實(shí)現(xiàn)虛擬機(jī)之間資源的一個(gè)調(diào)度,比如VM1上面1個(gè)CPU和8G內(nèi)存费奸,然后VM2上面是2個(gè)CPU和12G內(nèi)存弥激,這樣的話我們就做出了限定。
    VM的優(yōu)點(diǎn)
    1愿阐、資源池
    2微服、很容易擴(kuò)展,加虛擬機(jī)缨历,我們可以加第四臺(tái)以蕴。要是物理機(jī)資源不夠,還可以加物理機(jī)辛孵。Hypervisor做了一層
    3丛肮、很容易云化,AWS和阿里云魄缚、騰訊云宝与,可以通過公有云創(chuàng)建虛擬機(jī),不用知道物理機(jī)放在那里冶匹,現(xiàn)在的公司都采用了虛擬化技術(shù)了
    虛擬化的局限性: 每個(gè)VM都是一個(gè)完整的OS习劫,那么它需要給其分配資源,還沒有部署app的時(shí)候嚼隘,OS就占了很多資源了诽里。當(dāng)VM的數(shù)量很多的時(shí)候,OS本身消耗的資源勢(shì)必增多飞蛹。但是這不是容器出現(xiàn)最主要的原因须肆。


    虛擬機(jī)與容器的對(duì)比
  • 容器出現(xiàn)的最主要的原因
    開發(fā)和運(yùn)維之間會(huì)出現(xiàn)扯皮的情況,開發(fā)在本機(jī)上面是好的桩皿。交付上面,開發(fā)與運(yùn)維之間有問題幢炸。為什么開發(fā)這里好泄隔,但是在運(yùn)維上面出問題呢?問題出現(xiàn)的原因是環(huán)境與配置宛徊,比如你本地在windows上面進(jìn)行了開發(fā)佛嬉,然后運(yùn)維是要將這個(gè)部署到阿里云上面逻澳,這個(gè)時(shí)候環(huán)境就變了。一款產(chǎn)品從開發(fā)到上線暖呕,從操作系統(tǒng)斜做,到運(yùn)行環(huán)境,再到應(yīng)用配置湾揽。作為開發(fā)+運(yùn)維之間的協(xié)作我們需要關(guān)心很多東西瓤逼,這也是很多互聯(lián)網(wǎng)公司都不得不面對(duì)的問題,特別是各種版本的迭代之后库物,不同版本環(huán)境的兼容霸旗,對(duì)運(yùn)維人員都是考驗(yàn)。Docker之所以發(fā)展如此迅速戚揭,也是因?yàn)樗鼘?duì)此給出了一個(gè)標(biāo)準(zhǔn)化的解決方案诱告。


虛擬機(jī)與容器的對(duì)比總結(jié)如下所示:

1 2 3
運(yùn)行性能 幾乎無額外性能損失 操作系統(tǒng)額外的CPU、內(nèi)存消耗
移植性 輕便民晒、靈活精居、適應(yīng)于LInux 笨重,與虛擬化技術(shù)耦合度高
硬件親和性 面向軟件開發(fā)者 面向硬件運(yùn)維者

二潜必、Docker的安裝

2.1靴姿、docker的基本組成和架構(gòu)

安裝之前,我們來先看看docker的三大核心部分刮便,如下:


Docker的三大核心

Docker的基本組成是由鏡像(image)空猜、容器(container)和倉庫(repository)組成。

  • 鏡像:就是一個(gè)只讀的模板恨旱。鏡像可以用來創(chuàng)建 Docker 容器辈毯,一個(gè)鏡像可以創(chuàng)建很多容器。
  • 容器:Docker 利用容器(Container)獨(dú)立運(yùn)行的一個(gè)或一組應(yīng)用搜贤。容器是用鏡像創(chuàng)建的運(yùn)行實(shí)例谆沃。它可以被啟動(dòng)、開始仪芒、停止唁影、刪除。每個(gè)容器都是相互隔離的掂名、保證安全的平臺(tái)据沈。可以把容器看做是一個(gè)簡(jiǎn)易版的 Linux 環(huán)境(包括root用戶權(quán)限饺蔑、進(jìn)程空間锌介、用戶空間和網(wǎng)絡(luò)空間等)和運(yùn)行在其中的應(yīng)用程序。容器的定義和鏡像幾乎一模一樣,也是一堆層的統(tǒng)一視角孔祸,唯一區(qū)別在于容器的最上面那一層是可讀可寫的隆敢。
  • 倉庫:倉庫(Repository)是集中存放鏡像文件的場(chǎng)所。倉庫(Repository)和倉庫注冊(cè)服務(wù)器(Registry)是有區(qū)別的崔慧。倉庫注冊(cè)服務(wù)器上往往存放著多個(gè)倉庫拂蝎,每個(gè)倉庫中又包含了多個(gè)鏡像,每個(gè)鏡像有不同的標(biāo)簽(tag)惶室。目前最大的倉庫就是docker hub温自。國內(nèi)的阿里云和網(wǎng)易云對(duì)docker hub上面的鏡像進(jìn)行了一個(gè)備份的操作。國內(nèi)的話拇涤,還是將倉庫設(shè)置成阿里云的捣作,這樣的話,能夠快速的將我們想要的鏡像給拉下來鹅士。

然后我們?cè)诳纯磀ocker的架構(gòu)圖券躁,如下:

容器架構(gòu)圖

在這里,Client就是我們的docker的客戶端掉盅,然后Host就是我們的系統(tǒng)也拜,可以看出我們的系統(tǒng)里面有多個(gè)鏡像,鏡像的實(shí)例就是我們的容器趾痘。我們的host可以從遠(yuǎn)端的倉庫拉鏡像下來慢哈。

2.2、Docker的安裝
Docker的安裝來說就顯得挺簡(jiǎn)單了永票。跟著官網(wǎng)來就行了卵贱,這里給大家?guī)讉€(gè)鏈接去安裝就行了

  • Mac安裝
    去docs.docker.com/install/下載



    直接安裝就好了

  • centos
    1、確定centos的版本
    2侣集、到官網(wǎng)根據(jù)https://docs.docker.com/install/linux/docker-ce/centos/上面的步驟進(jìn)行一步一步安裝就好了
    2.3键俱、容器的運(yùn)行

三、Docker的常用命令

下面的思維導(dǎo)圖簡(jiǎn)要的總結(jié)了一下我們常用的docker命令:


Docker常用命令思維導(dǎo)圖
3.1世分、幫助命令

幫助命令主要有三個(gè):docker version编振、docker info、docker --help
要是有些命令記不住了臭埋,可以直接docker --help一下踪央,看看各個(gè)命令的意義。這里就不記這三個(gè)命令的使用了瓢阴。

3.2畅蹂、鏡像命令

(1)docker images

?  ~  docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE`

由于我的電腦上面沒有任何的鏡像的存在,所以就是空的荣恐。下面我們拉一個(gè)hello-world下來看看:

?  ~  docker pull hello-world
Using default tag: latest
latest: Pulling from library/hello-world
1b930d010525: Pull complete
Digest: sha256:2557e3c07ed1e38f26e389462d03ed943586f744621577a99efb77324b0fe535
Status: Downloaded newer image for hello-world:latest

拉取完了hello-world之后魁莉,我們?cè)俨捎胐ocker images看看

?  ~  docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world         latest              fce289e99eb9        2 months ago        1.84kB

這里的標(biāo)簽說明:
REPOSITORY :鏡像的倉庫源
TAG:鏡像的標(biāo)簽,latest表示是最新的版本。
IMAGE ID :鏡像的ID
CREATED:鏡像的創(chuàng)建時(shí)間
SIZE:鏡像的大小
同一個(gè)倉庫源可以有很多個(gè)TAG旗唁,代表它有很多個(gè)不同的版本。采用REPOSITORY: TAG的形式來定義不同的鏡像痹束。如果看不到鏡像名后面的標(biāo)簽检疫,那么就是默認(rèn)為鏡像名:latest
前面的思維導(dǎo)圖里面已經(jīng)看到了-a、-q祷嘶、--no-trunc的作用:

?  ~  docker images -a
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world         latest              fce289e99eb9        2 months ago        1.84kB
?  ~  docker images -q
fce289e99eb9
?  ~  docker images -aq
fce289e99eb9
?  ~  docker images --no-trunc
REPOSITORY          TAG                 IMAGE ID                                                                  CREATED             SIZE
hello-world         latest              sha256:fce289e99eb9bca977dae136fbe2a82b6b7d4c372474c9235adc1741675f587e   2 months ago        1.84kB

這里我們可以結(jié)合a和q屎媳,拿到所有鏡像的id,然后實(shí)現(xiàn)一個(gè)刪除的操作论巍。

(2)docker search
docker search 鏡像名 ---> 可以去docker hub上面尋找鏡像烛谊,我們可以看到搜索centos的話,就有很多的鏡像了嘉汰,有描述丹禀、點(diǎn)贊數(shù)、是不是官方的鞋怀。

?  ~  docker search centos
NAME                               DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
centos                             The official build of CentOS.                   5227                [OK]
ansible/centos7-ansible            Ansible on Centos7                              120                                     [OK]
jdeathe/centos-ssh                 CentOS-6 6.10 x86_64 / CentOS-7 7.5.1804 x86…   107                                     [OK]
consol/centos-xfce-vnc             Centos container with "headless" VNC session…   81                                      [OK]
imagine10255/centos6-lnmp-php56    centos6-lnmp-php56                              50                                      [OK]
centos/mysql-57-centos7            MySQL 5.7 SQL database server                   47
tutum/centos                       Simple CentOS docker image with SSH access      43
gluster/gluster-centos             Official GlusterFS Image [ CentOS-7 +  Glust…   40                                      [OK]
openshift/base-centos7             A Centos7 derived base image for Source-To-I…   39
centos/postgresql-96-centos7       PostgreSQL is an advanced Object-Relational …   37
centos/python-35-centos7           Platform for building and running Python 3.5…   33
kinogmt/centos-ssh                 CentOS with SSH                                 26                                      [OK]
centos/httpd-24-centos7            Platform for running Apache httpd 2.4 or bui…   21
openshift/jenkins-2-centos7        A Centos7 based Jenkins v2.x image for use w…   20
centos/php-56-centos7              Platform for building and running PHP 5.6 ap…   19
pivotaldata/centos-gpdb-dev        CentOS image for GPDB development. Tag names…   10
openshift/wildfly-101-centos7      A Centos7 based WildFly v10.1 image for use …   6
openshift/jenkins-1-centos7        DEPRECATED: A Centos7 based Jenkins v1.x ima…   4
darksheer/centos                   Base Centos Image -- Updated hourly             3                                       [OK]
pivotaldata/centos-mingw           Using the mingw toolchain to cross-compile t…   2
pivotaldata/centos                 Base centos, freshened up a little with a Do…   2
pivotaldata/centos-gcc-toolchain   CentOS with a toolchain, but unaffiliated wi…   1
blacklabelops/centos               CentOS Base Image! Built and Updates Daily!     1                                       [OK]
openshift/wildfly-81-centos7       A Centos7 based WildFly v8.1 image for use w…   1
smartentry/centos                  centos with smartentry                          0                                       [OK]

有的時(shí)候双泪,docker search的個(gè)數(shù)太多,所以我們可以選擇過濾一下密似,也就是思維導(dǎo)圖里面的加上-s來列出收藏?cái)?shù)不小于指定值的鏡像

?  ~  docker search -s 100 centos
Flag --stars has been deprecated, use --filter=stars=3 instead
NAME                      DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
centos                    The official build of CentOS.                   5227                [OK]
ansible/centos7-ansible   Ansible on Centos7                              120                                     [OK]
jdeathe/centos-ssh        CentOS-6 6.10 x86_64 / CentOS-7 7.5.1804 x86…   107                                     [OK]

(3)docker pull
docker pull centos等價(jià)于docker pull centos:latest焙矛,默認(rèn)拉取的就是centos最新版本的鏡像。

?  ~  docker pull centos
Using default tag: latest
latest: Pulling from library/centos
a02a4930cb5d: Pull complete
Digest: sha256:184e5f35598e333bfa7de10d8fb1cebb5ee4df5bc0f970bf2b1e7c7345136426
Status: Downloaded newer image for centos:latest

(4)docker rmi
因?yàn)槭莿h除鏡像残腌,所以是接rmi村斟。這里需要注意的是要是鏡像的一個(gè)容器正在使用中的話,采用docker rmi 鏡像名來刪除的話抛猫,是行不通的蟆盹。需要采用docker rmi -f 鏡像名的方式來強(qiáng)制刪除這個(gè)鏡像。

### 這個(gè)之前運(yùn)行了docker run hello-world這個(gè)命令
?  ~  docker rmi hello-world
Error response from daemon: conflict: unable to remove repository reference "hello-world" (must force) - container b2b8498f9086 is using its referenced image fce289e99eb9

在上面的命令基礎(chǔ)上面加上f之后邑滨,就順利刪除掉了

?  ~  docker rmi -f hello-world
Untagged: hello-world:latest
Untagged: hello-world@sha256:2557e3c07ed1e38f26e389462d03ed943586f744621577a99efb77324b0fe535
Deleted: sha256:fce289e99eb9bca977dae136fbe2a82b6b7d4c372474c9235adc1741675f587e

刪除之后就不見hell-world鏡像了日缨。

?  ~  docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
tomcat              latest              dd6ff929584a        12 hours ago        463MB
centos              latest              1e1148e4cc2c        3 months ago        202MB

然后我們來刪除全部的images,:docker rmi -f $(docker images -aq),這里就利用到了我們前面的aq命令了掖看。

?  ~  docker rmi -f $(docker images -aq)

3.3匣距、容器命令
Docker利用容器獨(dú)立運(yùn)行一個(gè)多著多個(gè)應(yīng)用,容器就是鏡像創(chuàng)建的一個(gè)實(shí)例了哎壳。它可以被啟動(dòng)毅待、開始、停止和刪除归榕。而且每一個(gè)容器都是相互隔離開來的尸红,保證安全你的平臺(tái)。

(1)新建并啟動(dòng)容器

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
參數(shù)options:
--name="容器新名字": 為容器指定一個(gè)名稱;
-d: 后臺(tái)運(yùn)行容器外里,并返回容器ID怎爵,也即啟動(dòng)守護(hù)式容器;
-i:以交互模式運(yùn)行容器盅蝗,通常與 -t 同時(shí)使用鳖链;
-t:為容器重新分配一個(gè)偽輸入終端,通常與 -i 同時(shí)使用墩莫;
-P: 隨機(jī)端口映射芙委;
-p: 指定端口映射,有以下四種格式
      ip:hostPort:containerPort
      ip::containerPort
      hostPort:containerPort
      containerPort

使用鏡像centos:latest以交互模式啟動(dòng)一個(gè)容器狂秦。這樣操作就進(jìn)入了容器centos了灌侣,然后我們可以看見我們處在了當(dāng)前的根目錄下面。

?  ~  docker run -it centos
[root@a5874f60f4a8 /]# pwd
/
[root@a5874f60f4a8 /]#

然后我們可以看看docker容器里面的狀態(tài)裂问,

[root@35cd9cdd095b /]# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 08:43 pts/0    00:00:00 /bin/bash
root        16     1  0 08:43 pts/0    00:00:00 ps -ef

(2) docker ps [options]
列出我們當(dāng)前正在運(yùn)行的容器的命令侧啼。

-a :列出當(dāng)前所有正在運(yùn)行的容器+歷史上運(yùn)行過的
-l :顯示最近創(chuàng)建的容器。
-n:顯示最近n個(gè)創(chuàng)建的容器愕秫。
-q :靜默模式慨菱,只顯示容器編號(hào)。
--no-trunc :不截?cái)噍敵觥?

直接用docker ps就能看到當(dāng)前正在運(yùn)行的容器

?  ~  docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
a5874f60f4a8        centos              "/bin/bash"         3 minutes ago       Up 3 minutes                            dreamy_goldberg
?  ~  docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
35cd9cdd095b        centos              "/bin/bash"         3 minutes ago       Up 3 minutes                                    clever_mclean
30d1fa5ccf3a        hello-world         "/hello"            17 minutes ago      Exited (0) 17 minutes ago                       inspiring_chandrasekhar
?  ~  docker ps -l
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
35cd9cdd095b        centos              "/bin/bash"         3 minutes ago       Up 3 minutes                            clever_mclean
?  ~  docker ps -q
35cd9cdd095b
?  ~  docker ps --no-trunc
CONTAINER ID                                                       IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
35cd9cdd095bc42175c3b9977e95810d8a9edbfd4e4954cd56d05122ab5b610a   centos              "/bin/bash"         4 minutes ago       Up 4 minutes                            clever_mclean

(3)容器退出的兩種方式
1戴甩、exit:容器停止并退出符喝,這樣去docker ps查看的時(shí)候,就沒有當(dāng)前運(yùn)行的容器信息甜孤。
2协饲、ctrl+P+Q:就是保持容器不停止,但是我們也退出了缴川。
(4)容器的啟動(dòng)茉稠、重啟、停止把夸、強(qiáng)制停止以及刪除容器
啟動(dòng): docker start 容器ID或者容器名

  ~  docker start 35cd9cdd095b
35cd9cdd095b
?  ~  docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
35cd9cdd095b        centos              "/bin/bash"         15 minutes ago      Up 10 seconds                           clever_mclean

停止:docker stop 容器ID或者容器名

?  ~  docker stop 35cd9cdd095b
35cd9cdd095b
 ?  ~   docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

注意一下這里stop是溫柔的停止而线,然后kill是暴力的停止。
我們已經(jīng)有很多個(gè)容器了恋日,那么我們也可以對(duì)容器進(jìn)行一個(gè)刪除的操作
刪除容器:docker rm 容器ID或者容器名膀篮。
一次性刪除多個(gè)容器:docker rm -f $(docker ps -aq)或者 docker ps -aq | xargs docker rm

?  ~  docker rm -f $(docker ps -aq)
35cd9cdd095b
30d1fa5ccf3a

(5)重要的一些命令

  • 啟動(dòng)守護(hù)式容器
?  ~  docker run -d centos
abab374ce58fd473044ad0bbca4a39d21cea323fd32cd2844364a6a09b72812b
?  ~  docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

在這里,我們看到了我們采用了啟動(dòng)守護(hù)式容器的方式進(jìn)行運(yùn)行了之后岂膳,但是docker ps并沒有發(fā)現(xiàn)運(yùn)行了誓竿。為什么會(huì)這樣呢?
因?yàn)镈ocker容器后臺(tái)運(yùn)行,就必須有一個(gè)前臺(tái)進(jìn)程.容器運(yùn)行的命令如果不是那些一直掛起的命令(比如運(yùn)行top谈截,tail)筷屡,就是會(huì)自動(dòng)退出的涧偷。這個(gè)是docker的機(jī)制問題,比如你的web容器,我們以nginx為例,正常情況下,我們配置啟動(dòng)服務(wù)只需要啟動(dòng)響應(yīng)的service即可毙死。例如service nginx start燎潮。但是,這樣做,nginx為后臺(tái)進(jìn)程模式運(yùn)行,就導(dǎo)致docker前臺(tái)沒有運(yùn)行的應(yīng)用,

  • 查看容器日志
docker run -d centos /bin/sh -c 'while true;do echo hello bear;sleep 2;done'
?  ~  docker run -d centos /bin/sh -c 'while true;do echo hello bear;sleep 2;done'

0bdad01a4f53f860615932d1ecf57672f4ed4a5e6f9ef569b6adb4b476f719fa
?  ~  docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
0bdad01a4f53        centos              "/bin/sh -c 'while t…"   11 seconds ago      Up 10 seconds                           hardcore_jennings

docker logs + 容器id ---->查看日志

?  ~  docker logs 0bdad01a4f53
hello bear
hello bear
hello bear
hello bear
hello bear
hello bear
hello bear
hello bear
hello bear

docker logs -t + 容器id ---->查看日志,加上了時(shí)間戳

?  ~  docker logs -t 0bdad01a4f53
2019-03-06T01:50:28.701813500Z hello bear
2019-03-06T01:50:30.711125000Z hello bear
2019-03-06T01:50:32.715700300Z hello bear
2019-03-06T01:50:34.716762300Z hello bear
2019-03-06T01:50:36.720626500Z hello bear
2019-03-06T01:50:38.723566900Z hello bear
2019-03-06T01:50:40.691119800Z hello bear
2019-03-06T01:50:42.693349700Z hello bear
2019-03-06T01:50:44.695585100Z hello bear
2019-03-06T01:50:46.698940300Z hello bear
2019-03-06T01:50:48.701926000Z hello bear

-t -f 就是不停的追加扼倘,因?yàn)槭敲績(jī)擅腌姶蛴∫幌赂 R驗(yàn)樘嗔耍粗悬c(diǎn)蛋疼唉锌,所以我們就需要看后面的三行了,這里就用到了--tail+我們要看的行數(shù)了

?  ~  docker logs -t -f --tail 3 0bdad01a4f53
2019-03-06T01:53:38.848574200Z hello bear
2019-03-06T01:53:40.855578300Z hello bear
2019-03-06T01:53:42.857704300Z hello bear
2019-03-06T01:53:44.861998600Z hello bear
2019-03-06T01:53:46.866374400Z hello bear
2019-03-06T01:53:48.871097600Z hello bear
2019-03-06T01:53:50.875416000Z hello bear
2019-03-06T01:53:52.877975100Z hello bear

感覺這個(gè)和linux里面的命令差不多

  • 查看容器內(nèi)運(yùn)行的進(jìn)程
    docker top 容器ID
?  ~  docker top b9d40b1f1c37
PID                 USER                TIME                COMMAND
3160                root                0:00                /bin/sh -c while true;do echo hello bear;sleep 2;done
3328                root                0:00                sleep 2
  • 查看容器內(nèi)部的細(xì)節(jié)
    docker inspect + 容器ID 按照一個(gè)json串的形式返回竿奏。返回了一個(gè)很長(zhǎng)的json了袄简。Inspect一個(gè)json的串的形式》盒ィ看到具體的細(xì)節(jié)
  • 進(jìn)行入正在運(yùn)行的容器并以命令行交互
  ~  docker run -it centos
[root@583aeaf26957 /]# %                                                                                                                                                          ?  ~  docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
583aeaf26957        centos              "/bin/bash"         22 seconds ago      Up 21 seconds                           heuristic_banzai

進(jìn)入到容器中:docker attach 容器ID

?  ~  docker attach 583aeaf26957
[root@583aeaf26957 /]#

Exec是另外一種方式了绿语。意思就是進(jìn)入到容器,然后執(zhí)行后面的一個(gè)命令候址,這個(gè)好處就是不用交互式的進(jìn)去吕粹。

?  ~  docker exec -t 583aeaf26957 ls -l /tmp
total 4
-rwx------ 1 root root 836 Mar  5 17:36 ks-script-eC059Y
-rw------- 1 root root   0 Mar  5 17:34 yum.log
  • 從容器拷貝文件到主機(jī)上
    docker cp 容器ID:容器內(nèi)路徑 目的主機(jī)路徑
    命令和Linux里面的拷貝差不多


    Docker Commands Diagram

總結(jié),這一部分就簡(jiǎn)單的介紹了一下Docker岗仑、Docker的安裝和Docker的常用命令匹耕,喜歡的小伙伴,就點(diǎn)個(gè)贊哈荠雕。

持續(xù)更新中...

參考資料:
1稳其、https://www.docker.com/
2、https://www.bilibili.com/video/av17854410?from=search&seid=2496603295204351706

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末炸卑,一起剝皮案震驚了整個(gè)濱河市既鞠,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌盖文,老刑警劉巖嘱蛋,帶你破解...
    沈念sama閱讀 221,820評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異五续,居然都是意外死亡洒敏,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門返帕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來桐玻,“玉大人,你說我怎么就攤上這事荆萤∧餮ィ” “怎么了铣卡?”我有些...
    開封第一講書人閱讀 168,324評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)偏竟。 經(jīng)常有香客問我煮落,道長(zhǎng),這世上最難降的妖魔是什么踊谋? 我笑而不...
    開封第一講書人閱讀 59,714評(píng)論 1 297
  • 正文 為了忘掉前任蝉仇,我火速辦了婚禮,結(jié)果婚禮上殖蚕,老公的妹妹穿的比我還像新娘轿衔。我一直安慰自己,他們只是感情好睦疫,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,724評(píng)論 6 397
  • 文/花漫 我一把揭開白布害驹。 她就那樣靜靜地躺著,像睡著了一般蛤育。 火紅的嫁衣襯著肌膚如雪宛官。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,328評(píng)論 1 310
  • 那天瓦糕,我揣著相機(jī)與錄音底洗,去河邊找鬼。 笑死咕娄,一個(gè)胖子當(dāng)著我的面吹牛亥揖,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播谭胚,決...
    沈念sama閱讀 40,897評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼徐块,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了灾而?” 一聲冷哼從身側(cè)響起胡控,我...
    開封第一講書人閱讀 39,804評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎旁趟,沒想到半個(gè)月后昼激,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,345評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡锡搜,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,431評(píng)論 3 340
  • 正文 我和宋清朗相戀三年橙困,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片耕餐。...
    茶點(diǎn)故事閱讀 40,561評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡凡傅,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出肠缔,到底是詐尸還是另有隱情夏跷,我是刑警寧澤哼转,帶...
    沈念sama閱讀 36,238評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站槽华,受9級(jí)特大地震影響壹蔓,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜猫态,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,928評(píng)論 3 334
  • 文/蒙蒙 一佣蓉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧亲雪,春花似錦勇凭、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至终息,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間贞让,已是汗流浹背周崭。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留喳张,地道東北人续镇。 一個(gè)月前我還...
    沈念sama閱讀 48,983評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像销部,于是被迫代替她去往敵國和親摸航。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,573評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • Docker — 云時(shí)代的程序分發(fā)方式 要說最近一年云計(jì)算業(yè)界有什么大事件舅桩?Google Compute Engi...
    ahohoho閱讀 15,545評(píng)論 15 147
  • 寫這篇文章主要是為了今后畢業(yè)論文素材上的整理酱虎,同時(shí)對(duì)docker進(jìn)行鞏固溫習(xí)。大綱: docker簡(jiǎn)介docker...
    胡圖仙人閱讀 7,439評(píng)論 2 96
  • 可能是把Docker的概念講的最清楚的一篇文章 本文只是對(duì)Docker的概念做了較為詳細(xì)的介紹擂涛,并不涉及一些像Do...
    我只是一個(gè)小白木木閱讀 607評(píng)論 0 0
  • Docker 是世界領(lǐng)先的軟件容器平臺(tái)读串,本文主要來介紹下關(guān)于Docker的那些事兒,主要包含以下內(nèi)容: 容器 什么...
    極課編程閱讀 290評(píng)論 0 0
  • 1 每個(gè)人來到這個(gè)世界上,都有著自己為人處事的方式狰右,有著自己獨(dú)立的圈子杰捂,有種自己的小世界,或多...
    我在陽光下閱讀 633評(píng)論 5 5