Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。

个完整的Docker有以下几个部分组成: 

  • Docker Client 客户端
  • Docker Daemon 守护进程
  • Docker Image 镜像
  • Docker Container 容器

Docker功能特性

1隔离环境(系统,网络,文件系统)与应用

2解决依赖与版本问题

3易于分发

4节点与容器快速扩容

5制作简单,管理方便

Docker的安装

安装环境

最小化安装Centos7.5  关闭防火墙和selinux

#安装依赖包
yum -y install yum-utils device-mapper-persistent-data lvm2
#添加docker的CE版本的yum源配置文件
curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo         #如果不能下载 自行创建

#安装CE版本的docker
yum -y install docker-ce
systemctl start docker #启动docker
systemctl disable docker   #添加开机启动
docker version         #查看docker版本docker version
Client:Version:           18.06.1-ceAPI version:       1.38Go version:        go1.10.3Git commit:        e68fc7aBuilt:             Tue Aug 21 17:23:03 2018OS/Arch:           linux/amd64Experimental:      falseServer:Engine:Version:          18.06.1-ceAPI version:      1.38 (minimum version 1.12)Go version:       go1.10.3Git commit:       e68fc7aBuilt:            Tue Aug 21 17:25:29 2018OS/Arch:          linux/amd64Experimental:     false

vim /etc/yum.repos.d/docker-ce.repo        #docker  repo文件
[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://download.docker.com/linux/centos/7/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg[docker-ce-stable-debuginfo]
name=Docker CE Stable - Debuginfo $basearch
baseurl=https://download.docker.com/linux/centos/7/debug-$basearch/stable
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg[docker-ce-stable-source]
name=Docker CE Stable - Sources
baseurl=https://download.docker.com/linux/centos/7/source/stable
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg[docker-ce-edge]
name=Docker CE Edge - $basearch
baseurl=https://download.docker.com/linux/centos/7/$basearch/edge
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg[docker-ce-edge-debuginfo]
name=Docker CE Edge - Debuginfo $basearch
baseurl=https://download.docker.com/linux/centos/7/debug-$basearch/edge
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg[docker-ce-edge-source]
name=Docker CE Edge - Sources
baseurl=https://download.docker.com/linux/centos/7/source/edge
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg[docker-ce-test]
name=Docker CE Test - $basearch
baseurl=https://download.docker.com/linux/centos/7/$basearch/test
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg[docker-ce-test-debuginfo]
name=Docker CE Test - Debuginfo $basearch
baseurl=https://download.docker.com/linux/centos/7/debug-$basearch/test
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg[docker-ce-test-source]
name=Docker CE Test - Sources
baseurl=https://download.docker.com/linux/centos/7/source/test
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg[docker-ce-nightly]
name=Docker CE Nightly - $basearch
baseurl=https://download.docker.com/linux/centos/7/$basearch/nightly
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg[docker-ce-nightly-debuginfo]
name=Docker CE Nightly - Debuginfo $basearch
baseurl=https://download.docker.com/linux/centos/7/debug-$basearch/nightly
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg[docker-ce-nightly-source]
name=Docker CE Nightly - Sources
baseurl=https://download.docker.com/linux/centos/7/source/nightly
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg

Docker的操作命令

添加docker国内镜像源

我们首先要更改一下docker的默认源镜像下载地址(默认是从国外下载,很慢),我们需要添加国内的源地址

vim /etc/docker/daemon.json
{"registry-mirrors":[ "https://registry.docker-cn.com" ]
}systemctl daemon-reload
systemctl restart docker

Docker命令:

  1. search   用于从docker的官方公有镜像仓库查找镜像

  2. pull        用于从Docker Hub上下载公有镜像

  3. images  用于本地镜像的查看

  4. build      用于本地自定义镜像的构建,需要创建Dockerfile文件

  5. run         运行一个本地镜像

  6. ps          查看已经运行的镜像的进程

  7. attach    从本地系统中切入到某个STATUS状态是UP的镜像进程里

  8. stop       用于停止一个正在运行着的容器进程

  9. start      用于启动一个已经停止了的容器进程

  10. rm         用于删除一个已经停止了的容器进程

  11. rmi        用于删除一个未用作容器启动的本地镜像

  12. commit     将一个更改过的容器进程的容器状态保存为一个新的镜像

  13. exec     用于从本地操作系统上直接向容器进程发布执行命令并返回结果

  14. cp         用于在容器进程和本地系统之间复制文件

  15. create  用于创建一个容器进程,但是并不启动它

  16. diff       查看容器进程与源镜像做对比,发生了改变的文件或文件夹

  17. events  时时监测容器的变化情况

  18. export    将容器进程的文件系统导出到本地

  19. import   用于将export导出的文件系统创建为一个镜像

  20. history  用于查看一个镜像的历史修改纪录

  21. info      用于查看当前操作系统的docker运行信息

  22. inspect 查看某个镜像的详细信息

  23. kill        强行停止一个或多个正在运行状态的容器进程

  24. save     用于将一个镜像的文件系统导出到本地(export导出的是容器)

  25. load    用于将save导出到本地的tar包,重新加载为镜像(和源镜像的名字标识完全一样)

  26. logs     用于输出一个容器进程内的操作日志

  27. pause && unpause      用于将一个或多个容器的进程暂停和恢复

  28. port     用于列出一个容器的端口映射及协议

  29. rename  给容器进程重命名

  30. restart   重启一个容器进程

  31. stats    用于时时输出容器的资源使用情况

  32. tag     用于从一个指定的镜像创建另外一个镜像

  33. top     用于显示指定容器的进程信息

  34. update     用于调整一个或多个容器的启动配置

  35. version and wait       version用于显示docker的版本信息 wait用于捕捉一个或多个容器的退出状态,并返回退出状态码

命令详解

search用于从docker的官方公有镜像仓库查找镜像

docker search centos     #查看centos镜像
NAME                               DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
centos                             The official build of CentOS.                   4659                [OK]
ansible/centos7-ansible            Ansible on Centos7                              115                                     [OK]
jdeathe/centos-ssh                 CentOS-6 6.10 x86_64 / CentOS-7 7.5.1804 x86…   99                                      [OK]特别说明:
Name:镜像的名字
DESCRIPTION:描述
STARS:星级(越高越好)
OFFICIAL:是否是官方发布的
AUTOMATED:是否自动化的

#多条件查找--filter=-f  docker search centos --filter is-official=true -f stars=100                             官方发布的             星级大于100的

pull      用于从Docker Hub上下载公有镜像

#下载目标centos镜像
docker pull centos:7 

images  用于本地镜像的查看

docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              7                   5182e96772bf        4 weeks ago         200MB特别说明:
REPOSITORY:镜像仓库(下边罗列的都是本地已有镜像名称)
TAG:镜像的标记(为了区分同名镜像)
IMAGES ID:镜像的ID号
CREATED:此镜像的创建时间
SIZE:此镜像的大小

build      用于本地自定义镜像的构建,需要创建Dockerfile文件

#创建Dockerfile文件的存储目录
mkdir -p /root/dockerfile/lib/centos/7
cd /root/dockerfile/lib/centos/7
vim docker.sh
#!/bin/bash
while true
doecho "welcome"sleep 5
done#创建Dockerfile配置文件,文件名称必须为Dockerfile,第一个字母必须大写
vim Dockerfile
FROM centos     #从centos源镜像的基础上进行构建
LABEL MAINTATNER="wk"  #作者的名称
RUN ln -sfv /usr/share/zoneinfo/Asia/Shanghai /etc/localtime   #RUN:在镜像构建过程中运行命令
ADD docker.sh /home/test/   #从本地系统中把docker.sh文件添加到构建中的镜像的/home/test/目录下
RUN chmod +x /home/test/docker.sh   #在镜像构建过程中运行命令
CMD ["/home/test/docker.sh"]        #构建镜像完成时,最后执行的命令#根据Dockfile配置文件构建一个自定义镜像
docker build -t wk/centos7:1 .    #-t 指定镜像名称  :1  设定镜像的tag标记   .在当前目录下
Sending build context to Docker daemon  207.9MB
Step 1/6 : FROM centos---> 5182e96772bf
Step 2/6 : LABEL MAINTATNER="Mr.chen.com"---> Running in 8394eb3581bc
Removing intermediate container 8394eb3581bc---> 765c759b0485
Step 3/6 : RUN ln -sfv /usr/share/zoneinfo/Asia/Shanghai /etc/localtime---> Running in b6af26ceb921
'/etc/localtime' -> '/usr/share/zoneinfo/Asia/Shanghai'
Removing intermediate container b6af26ceb921---> 7f8c6f739092
Step 4/6 : ADD docker.sh /home/test/---> b236f6cfe485
Step 5/6 : RUN chmod +x /home/test/docker.sh---> Running in 2104d69e389e
Removing intermediate container 2104d69e389e---> 15a56f49cc47
Step 6/6 : CMD ["/home/test/docker.sh"]---> Running in a34a9cb8a9e6
Removing intermediate container a34a9cb8a9e6---> 21067d2780f3
Successfully built 21067d2780f3            #构建成功
Successfully tagged wk/centos7:1docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
wk/centos7          1                   21067d2780f3        30 seconds ago      200MB
centos              7                   5182e96772bf        4 weeks ago         200MB

run         运行一个本地镜像

ocker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
wk/centos7          1                   21067d2780f3        3 minutes ago       200MB
centos              7                   5182e96772bf        4 weeks ago         200MBdocker run 2106      #2106 取IMAGE ID的前4位,只要ID能作为唯一标识就能使用
welcome
welcome
welcomedocker run -dit 2106 /bin/bash
特别提示:
docker run:运行一个指定的images id
-d:放在后台运行
-i:可以进行命令交互
-t:制作一个伪终端用于登陆21067d2780f3:镜像的ID,可以简写成2106

ps          查看已经运行的镜像的进程

docker ps -a     #不加-a只显示运行的,加-a显示所有
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
bf3bb800e44b        2106                "/bin/bash"         2 minutes ago       Up 2 minutes                            goofy_stonebraker
特别提示:
STATUS:进程的状态,UP表示正在运行中,EXIT表示已经退出了。

attach    从本地系统中切入到某个STATUS状态是UP的镜像进程里

docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
bf3bb800e44b        2106                "/bin/bash"         2 minutes ago       Up 2 minutes                            goofy_stonebraker
[root@wk 7]# docker attach bf3b  #切入到容器号为bf3b的镜像进程里
[root@bf3bb800e44b /]# exit      #退出容器
exit
[root@wk 7]# docker ps -a    #容器的进程的STATUS已经处于EXIT状态(之前是后台运行的,切入进去后执行exit就等于手动退出了)
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
bf3bb800e44b        2106                "/bin/bash"         4 minutes ago       Exited (0) 6 seconds ago                       goofy_stonebraker

stop /start      用于停止和启动一个正在运行着的容器进程

docker ps -a              #查看当前容器状态
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
bf3bb800e44b        2106                "/bin/bash"         7 minutes ago       Exited (0) 2 minutes ago                       goofy_stonebraker
docker start bf3b      #启动bf3b容器
bf3b
docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
bf3bb800e44b        2106                "/bin/bash"         7 minutes ago       Up 1 second                             goofy_stonebraker
docker stop bf3b      #关闭bf3b容器      
bf3b
docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
bf3bb800e44b        2106                "/bin/bash"         8 minutes ago       Exited (137) 1 second ago                       goofy_stonebraker

rm和 rmi   用于删除一个已经停止了的容器进程和用于删除一个未用作容器启动的本地镜像

#rmi镜像的删除需要先rm删除镜像所创建的容器

docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                       PORTS               NAMES
bf3bb800e44b        2106                "/bin/bash"         12 minutes ago      Exited (137) 4 minutes ago                       goofy_stonebrakerdocker rm bf3b                       #注意运行中的容器进程需要先stop,才能删除
bf3bdocker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMESdocker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
wk/centos7          1                   21067d2780f3        21 minutes ago      200MB
centos              7                   5182e96772bf        4 weeks ago         200MB
centos              latest              5182e96772bf        4 weeks ago         200MBdocker rmi -f 2106     #-f 强制删除(即便被占用)但要注意,被用作容器启动的镜像是不能删除的(需先rm删除容器进程)Untagged: wk/centos7:1
Deleted: sha256:21067d2780f3b3a714654f97291d1cff9cb13d0f32a6fdfa921c212f18c8132c
Deleted: sha256:15a56f49cc47603e5bb14ab10c2f64c71ba601940a201e7b367d4878e0822ae0
Deleted: sha256:441963cd30c126ce52369ca1ca37789dd643b456205c8625f8fd174e1d47933b
Deleted: sha256:b236f6cfe4850dc4d24283755565f88a54b157c91fa344e21ef41d5cd3a48d0e
Deleted: sha256:4fbf8d060514a9a3efc6f468b3abcb8ef7a732b4b91aeef977a5f684511237ef
Deleted: sha256:7f8c6f73909270ae17f31b7e68c90682a71ded4cad3d0ce31f5357bbe75365be
Deleted: sha256:96a90795aa833b6d95d6f546e1219b2d660540a73802b3bec7a4c87d5072aba6
Deleted: sha256:765c759b0485fd835dc1fbee9c69b199f19e801bad8c99e3c683fd83a283f237docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              7                   5182e96772bf        4 weeks ago         200MB
centos              latest              5182e96772bf        4 weeks ago         200MB

commit     将一个更改过的容器进程的容器状态保存为一个新的镜像

docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
31719a59fd35        5182                "/bin/bash"         10 seconds ago      Up 9 seconds                            fervent_albattanidocker commit 31719 wk.centos:1     #将容器进程保存为一个新的镜像
sha256:aeebe2fd33f864575451c1e8b93750bd002504c039a345c12c18e40b39c39454docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
wk.centos           1                   aeebe2fd33f8        48 seconds ago      200MB      #新保存的镜像
centos              7                   5182e96772bf        4 weeks ago         200MB
centos              latest              5182e96772bf        4 weeks ago         200MB

exec     用于从本地操作系统上直接向容器进程发布执行命令并返回结果

docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
31719a59fd35        5182                "/bin/bash"         4 minutes ago       Up 4 minutes                            fervent_albattani
docker exec 317 ls /root          #查看容器进程里/root的所有文件
anaconda-ks.cfg
docker exec 317 ls /tmp           #查看容器进程里/tmp的所有文件ks-script-Lu6hIQ yum.log

docker exec -it 317 /bin/bash      #进入docker容器命令

cp         用于在容器进程和本地系统之间复制文件

docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
31719a59fd35        5182                "/bin/bash"         8 minutes ago       Up 8 minutes                            fervent_albattani
docker cp 317:/etc/passwd .           #将指定容器进程317的/etc/passwd复制到当前目录下
ls
Dockerfile  docker.sh  passwd  test.tar     #复制成功     

docker cp test.tar 317:/root        #将本地文件test.tar 复制到容器317的/root下

docker exec 317 ls /root       #复制成功anaconda-ks.cfg   test.tar
 

create  用于创建一个容器进程,但是并不启动它

docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
wk.centos           1                   aeebe2fd33f8        11 minutes ago      200MB
centos              7                   5182e96772bf        4 weeks ago         200MB
centos              latest              5182e96772bf        4 weeks ago         200MBdocker create -it 518          #创建一个镜像的容器进程,但不直接启动
95d9ede337e836c0089c1e85285352b6aab06d5dd9d040e41cdaef4c033b045f
docker ps -a                   #Created创建状态并未启动
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
95d9ede337e8        518                 "/bin/bash"         19 seconds ago      Created                                 gallant_pare
31719a59fd35        5182                "/bin/bash"         14 minutes ago      Up 14 minutes                           fervent_albattani

diff       查看容器进程与源镜像做对比,发生了改变的文件或文件夹

docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
95d9ede337e8        518                 "/bin/bash"         19 seconds ago      Created                                 gallant_pare
31719a59fd35        5182                "/bin/bash"         14 minutes ago      Up 14 minutes                           fervent_albattanidocker diff 317    #查看容器317进程与镜像的变化
C /root
A /root/test.tar

events  时时监测容器的变化情况

docker events

export和impore   export将容器进程的文件系统导出到本地           import 将""export''导出的文件系统创建为一个镜像

docker export 317 > test.tar  #将容器进程317导出成一个tar包
ls
Dockerfile  docker.sh  passwd  test.tar
docker import test.tar wk/centos:3    #将导出的tar包文件系统生成一个新的镜像
sha256:bf4bb485e391872790d4bdf4b3068360cd45fb01f9cac29770611e113c794004
docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
wk/centos           3                   bf4bb485e391        17 seconds ago      200MB
wk.centos           1                   aeebe2fd33f8        22 minutes ago      200MB
centos              7                   5182e96772bf        4 weeks ago         200MB
centos              latest              5182e96772bf        4 weeks ago         200MB

save     用于将一个镜像的文件系统导出到本地(export导出的是容器)   load    用于将save导出到本地的tar包,重新加载为镜像(和源镜像的名字标识完全一样)

[root@wk 7]# docker images         #查看镜像
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              7                   5182e96772bf        4 weeks ago         200MB
[root@wk 7]# docker save centos:7 > hehe.tar             #镜像导出用名字和TAG导出
[root@wk 7]# docker rmi 518            #删除原镜像
Untagged: centos:7
Untagged: centos@sha256:6f6d986d425aeabdc3a02cb61c02abb2e78e57357e92417d6d58332856024faf
Deleted: sha256:5182e96772bf11f4b912658e265dfe0db8bd314475443b6434ea708784192892
Deleted: sha256:1d31b5806ba40b5f67bde96f18a181668348934a44c9253b420d5f04cfb4e37a
[root@wk 7]# docker load < hehe.tar         #重新导入之前导出的镜像
1d31b5806ba4: Loading layer [==================================================>]  208.3MB/208.3MB
Loaded image: centos:7
[root@wk 7]# docker images          #导入成功和原镜像完全一样
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              7                   5182e96772bf        4 weeks ago         200MB

history  用于查看一个镜像的历史修改纪录

 docker history 镜像名

info      用于查看当前操作系统的docker运行信息

docker info
Containers: 2    #容器进程2个Running: 1       #正在运行状态的容器1个Paused: 0Stopped: 1    #停止容器1个
Images: 3       #一共有3个镜像
Server Version: 18.06.1-ce
Storage Driver: overlay2Backing Filesystem: xfs

inspect 查看某个镜像的详细信息

docker inspect 镜像名

kill        强行停止一个或多个正在运行状态的容器进程

docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
31719a59fd35        5182                "/bin/bash"         32 minutes ago      Up 32 minutes                           fervent_albattani
docker kill 317
317
docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                       PORTS               NAMES
31719a59fd35        5182                "/bin/bash"         33 minutes ago      Exited (137) 8 seconds ago                       fervent_albattani

logs     用于输出一个容器进程内的操作日志

docker logs 容器ID

pause && unpause      用于将一个或多个容器的进程暂停和恢复

[root@wk 7]# docker pause 9e db       #暂停9e容器和db容器
9e
db
[root@wk 7]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS                       PORTS               NAMES
9e90abe9c524        518                 "/bin/bash"         43 seconds ago       Up 43 seconds (Paused)                           flamboyant_feynman
db9fdb501a3a        518                 "/bin/bash"         About a minute ago   Up About a minute (Paused)                       vigilant_brattain
[root@wk 7]# docker unpause 9e db       #恢复9e容器和db容器
9e
db
[root@wk 7]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS              PORTS               NAMES
9e90abe9c524        518                 "/bin/bash"         About a minute ago   Up About a minute                       flamboyant_feynman
db9fdb501a3a        518                 "/bin/bash"         2 minutes ago        Up 2 minutes                            vigilant_brattain

port     用于列出一个容器的端口映射及协议

docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              7                   5182e96772bf        4 weeks ago         200MBdocker run -dit -p 8555:22 518        #启动一个镜像518为容器,将本地端口8555映射到镜像端口22
ccc9d58fa6e6437489078cd3f5513988796de4b66697ed0c5d687f340942afe6docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                  NAMES
ccc9d58fa6e6        518                 "/bin/bash"         14 seconds ago      Up 13 seconds       0.0.0.0:8555->22/tcp   elastic_bardeen
9e90abe9c524        518                 "/bin/bash"         6 minutes ago       Up 6 minutes                               flamboyant_feynman
db9fdb501a3a        518                 "/bin/bash"         7 minutes ago       Up 7 minutes                               vigilant_brattain
docker port ccc        #查看容器ccc的映射端口
22/tcp -> 0.0.0.0:8555

rename  给容器进程重命名

docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                  NAMES
ccc9d58fa6e6        518                 "/bin/bash"         2 minutes ago       Up 2 minutes        0.0.0.0:8555->22/tcp   elastic_bardeen
9e90abe9c524        518                 "/bin/bash"         8 minutes ago       Up 8 minutes                               flamboyant_feynman
db9fdb501a3a        518                 "/bin/bash"         9 minutes ago       Up 9 minutes                               vigilant_brattain
docker rename elastic_bardeen wk  #将容器ccc的名字elastic_bardeen改为wk
docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                  NAMES
ccc9d58fa6e6        518                 "/bin/bash"         3 minutes ago       Up 3 minutes        0.0.0.0:8555->22/tcp   wk
9e90abe9c524        518                 "/bin/bash"         9 minutes ago       Up 9 minutes                               flamboyant_feynman
db9fdb501a3a        518                 "/bin/bash"         10 minutes ago      Up 10 minutes                              vigilant_brattain

restart   重启一个容器进程

docker restart ccc    #重启容器ccc
ccc

stats    用于时时输出容器的资源使用情况

docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
02e7612375e7        518                 "/bin/bash"         3 minutes ago       Up 3 minutes                            distracted_villanidocker stats 02e                #时时刷新状态
CONTAINER ID        NAME                 CPU %               MEM USAGE / LIMIT   MEM %               NET I/O             BLOCK I/O           PIDS
02e7612375e7        distracted_villani   0.00%               380KiB / 2.077GiB   0.02%               1.3kB / 0B          9.59MB / 0B         1docker stats 02e --no-stream    #--no-stream只输出一次
CONTAINER ID        NAME                 CPU %               MEM USAGE / LIMIT   MEM %               NET I/O             BLOCK I/O           PIDS
02e7612375e7        distracted_villani   0.00%               380KiB / 2.077GiB   0.02%               1.3kB / 0B          9.59MB / 0B         1

top     用于显示指定容器的进程信息

docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
02e7612375e7        518                 "/bin/bash"         9 minutes ago       Up 9 minutes                            distracted_villani
docker top 02e
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                1611                1595                0                   21:16               pts/0               00:00:00            /bin/bash

tag     用于从一个指定的镜像创建另外一个镜像

docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              7                   5182e96772bf        4 weeks ago         200MB
docker tag centos:7 centos:1             #指定centos:TAG7创建centos:TAG1
docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              1                   5182e96772bf        4 weeks ago         200MB
centos              7                   5182e96772bf        4 weeks ago         200MB
docker tag 5182e centos:3         #也可以指定IMAGE ID来创建
docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              1                   5182e96772bf        4 weeks ago         200MB
centos              3                   5182e96772bf        4 weeks ago         200MB
centos              7                   5182e96772bf        4 weeks ago         200MB

update     用于调整一个或多个容器的启动配置

docker update --help
Usage:  docker update [OPTIONS] CONTAINER [CONTAINER...]
Update configuration of one or more containers
Options:--blkio-weight uint16        Block IO (relative weight), between 10 and 1000, or 0 to disable (default 0)--cpu-period int             Limit CPU CFS (Completely Fair Scheduler) period--cpu-quota int              Limit CPU CFS (Completely Fair Scheduler) quota--cpu-rt-period int          Limit the CPU real-time period in microseconds--cpu-rt-runtime int         Limit the CPU real-time runtime in microseconds-c, --cpu-shares int             CPU shares (relative weight) #调整CPU--cpus decimal               Number of CPUs--cpuset-cpus string         CPUs in which to allow execution (0-3, 0,1)--cpuset-mems string         MEMs in which to allow execution (0-3, 0,1)--kernel-memory bytes        Kernel memory limit-m, --memory bytes               Memory limit #调整内存--memory-reservation bytes   Memory soft limit--memory-swap bytes          Swap limit equal to memory plus swap: '-1' to enable unlimited swap--restart string             Restart policy to apply when a container exits

version and wait       version用于显示docker的版本信息 wait用于捕捉一个或多个容器的退出状态,并返回退出状态码

docker version
Client:Version:           18.06.1-ceAPI version:       1.38Go version:        go1.10.3Git commit:        e68fc7aBuilt:             Tue Aug 21 17:23:03 2018OS/Arch:           linux/amd64Experimental:      falseServer:Engine:Version:          18.06.1-ceAPI version:      1.38 (minimum version 1.12)Go version:       go1.10.3Git commit:       e68fc7aBuilt:            Tue Aug 21 17:25:29 2018OS/Arch:          linux/amd64Experimental:     falsedocker wait 容器ID

转载于:https://www.cnblogs.com/ywrj/p/9588507.html

docker安装和基本命令相关推荐

  1. Day15(Js入门、jquery入门、ajax入门、前后端分离开发跨域问题、linux环境准备、jdk_tomcat环境搭建、docker介绍及应用(docker安装、基本命令、安装tomcat))

    js入门 js代码辅助 window–>preferences–>javaScript–>Content Assist .abcdefghijklmnopqrstuvwxyz alt ...

  2. docker入门一:docker安装、基本命令和redis操作示例

    环境: centos8.2 最小化安装 docker 一.docker概念 官网:https://www.docker.com/ Github Docker 源码:https://github.com ...

  3. Docker02 基本命令、开发环境搭建、docker安装nginx、Dockerfile、路径挂载

    1 基本命令 1.1 docker相关 centos6.5 安装docker环境 >sudo yum install -y http://mirrors.yun-idc.com/epel/6/i ...

  4. docker安装,配置,基本命令的学习

    docker Docker 基本命令 镜像命令 容器命令 下载 Nginx 并部署 docker 可视化面板 portainer 安装 Docker 基本命令 安装官网参考文档 https://doc ...

  5. docker 安装 基本命令操作 数据卷

    docker 安装 基本命令操作 数据卷 docker docker安装 1.yum 包更新到最新 2.安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是d ...

  6. VMWare安装使用、Linux命令、Docker安装和Linux项目部署

    Linux 一.Linux基础 1.1 Linux介绍 1.2 Linux常见发布版本 1.3 Linux和Windows的区别 1.4 Linux常见命令 二.VMWare安装使用 2.1 VMWa ...

  7. Docker教程(一):docker安装及运行原理

    前言 本文根据狂神说视频资料整理.https://www.bilibili.com/video/BV1og4y1q7M4?from=search&seid=164476847288957195 ...

  8. Docker安装到使用

    Docker [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AtNgiUS8-1634697398686)(Docker.assets/image-2020060620 ...

  9. Docker基础入门(基本命令)

    Docker基础入门(基本命令) 一.Docker概述 1.Docker为什么会出现? 一款产品: 开发–上线 两套环境!应用环境,应用配置! 开发 - 运维. 问题:我在我的电脑上可以允许!版本更新 ...

最新文章

  1. 4.通过Ubuntu指令生成GIF图片
  2. 编写你的第一个 Django 应用,第 3 部分
  3. 擦地机器人修理_自带眼睛还有嘴,喷水式擦地机器人效果实测
  4. Redis-cluster集群【第一篇】:redis安装及redis数据类型
  5. 环境变量_Jenkins流水线环境变量权威指南
  6. 通过结构体某个成员的地址计算结构体首地址
  7. FineReport性能调优的一些办法
  8. 像人类一样理解言外之意,阿里AI最新研究成果被国际顶会收录
  9. FISCO BCOS(三)——— 部署及调用HelloWorld合约
  10. 烽烟通讯2100万限售股将于3月7日疏通流畅上市
  11. python生成曲线图
  12. 27日29个收集与各大资源网今日教程总汇!
  13. 惠普HP OEM XP SP3镜像文件高速下载
  14. 让机器人更安全——(5.总结与展望)
  15. 16 | 把大象装进冰箱:HTTP传输大文件的方法
  16. 【Pandas分组聚合】进阶:透视表、交叉表(pivot_table() 、crosstab())
  17. PE文件资源解析(十一)对话框资源的解析
  18. Linux应用开发: SQLite数据库交叉编译部署与运用
  19. ARM服务器编译安装ClickHouse
  20. [指北针分类信息软件 v1.5.2.1] 全自动分类信息软件+高效稳定建立SEO外部链接

热门文章

  1. python三维数据转换成二维_用Python生成马赛克画
  2. wps工具显示灰色全部用不了,提示登录
  3. Sequential regulatory activity prediction across chromosomes with convolutional neural networks
  4. 配置系统初始化失败0 x84b10001当在Windows上安装SQL Server
  5. 什么是MTTF、MTBF、MTRF?
  6. 信号完整性(SI)电源完整性(PI)学习笔记(二十六)S参数在信号完整性中的应用(一)
  7. 组装计算机主机算固定资产吗,​购买电脑配件组装电脑属于固定资产吗
  8. java输出三角形星星
  9. Redhat Linux 8.3 安装方法
  10. 自定义拍照时 拍照界面_当生活中拍照不知道摆什么姿势时,可以试试动漫中这些动作...