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.-ce
API version: 1.38
Go version: go1.10.3
Git commit: e68fc7a
Built: Tue Aug ::
OS/Arch: linux/amd64
Experimental: false Server:
Engine:
Version: 18.06.-ce
API version: 1.38 (minimum version 1.12)
Go version: go1.10.3
Git commit: e68fc7a
Built: Tue Aug ::
OS/Arch: linux/amd64
Experimental: 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. [OK]
ansible/centos7-ansible Ansible on Centos7 [OK]
jdeathe/centos-ssh CentOS- 6.10 x86_64 / CentOS- 7.5. x86… [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:

images  用于本地镜像的查看

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

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

#创建Dockerfile文件的存储目录
mkdir -p /root/dockerfile/lib/centos/
cd /root/dockerfile/lib/centos/
vim docker.sh
#!/bin/bash
while true
do
echo "welcome"
sleep
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: . #-t 指定镜像名称 :1 设定镜像的tag标记 .在当前目录下
Sending build context to Docker daemon .9MB
Step / : FROM centos
---> 5182e96772bf
Step / : LABEL MAINTATNER="Mr.chen.com"
---> Running in 8394eb3581bc
Removing intermediate container 8394eb3581bc
---> 765c759b0485
Step / : 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 / : ADD docker.sh /home/test/
---> b236f6cfe485
Step / : RUN chmod +x /home/test/docker.sh
---> Running in 2104d69e389e
Removing intermediate container 2104d69e389e
---> 15a56f49cc47
Step / : CMD ["/home/test/docker.sh"]
---> Running in a34a9cb8a9e6
Removing intermediate container a34a9cb8a9e6
---> 21067d2780f3
Successfully built 21067d2780f3 #构建成功
Successfully tagged wk/centos7: docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
wk/centos7 1 21067d2780f3 30 seconds ago 200MB
centos 5182e96772bf weeks ago 200MB

run         运行一个本地镜像

ocker images
REPOSITORY TAG IMAGE ID CREATED SIZE
wk/centos7 7d2780f3 minutes ago 200MB
centos 5182e96772bf weeks ago 200MB docker run #2106 取IMAGE ID的前4位,只要ID能作为唯一标识就能使用
welcome
welcome
welcome docker run -dit /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 "/bin/bash" 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 "/bin/bash" minutes ago Up minutes goofy_stonebraker
[root@wk ]# docker attach bf3b #切入到容器号为bf3b的镜像进程里
[root@bf3bb800e44b /]# exit #退出容器
exit
[root@wk ]# docker ps -a #容器的进程的STATUS已经处于EXIT状态(之前是后台运行的,切入进去后执行exit就等于手动退出了)
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bf3bb800e44b "/bin/bash" minutes ago Exited () seconds ago goofy_stonebraker

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

docker ps -a              #查看当前容器状态
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bf3bb800e44b "/bin/bash" minutes ago Exited () minutes ago goofy_stonebraker

docker start bf3b      #启动bf3b容器
bf3b

docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bf3bb800e44b "/bin/bash" minutes ago Up second goofy_stonebraker

docker stop bf3b      #关闭bf3b容器      
bf3b

docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bf3bb800e44b "/bin/bash" minutes ago Exited () 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_stonebraker docker rm bf3b #注意运行中的容器进程需要先stop,才能删除
bf3b docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
wk/centos7 1 21067d2780f3 21 minutes ago 200MB
centos 5182e96772bf weeks ago 200MB
centos latest 5182e96772bf weeks ago 200MB docker rmi -f #-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:765c759b0485fd835dc1fbee9c69b199f19e801bad8c99e3c683fd83a283f237 docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos 5182e96772bf weeks ago 200MB
centos latest 5182e96772bf weeks ago 200MB

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

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

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

docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
19a59fd35 "/bin/bash" minutes ago Up minutes fervent_albattani

docker exec ls /root #查看容器进程里/root的所有文件
anaconda-ks.cfg

docker exec 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 "/bin/bash" minutes ago Up minutes fervent_albattani

docker cp :/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 aeebe2fd33f8 minutes ago 200MB
centos 5182e96772bf weeks ago 200MB
centos latest 5182e96772bf weeks ago 200MB docker create -it #创建一个镜像的容器进程,但不直接启动
95d9ede337e836c0089c1e85285352b6aab06d5dd9d040e41cdaef4c033b045f

docker ps -a #Created创建状态并未启动
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
95d9ede337e8 "/bin/bash" seconds ago Created gallant_pare
31719a59fd35 "/bin/bash" minutes ago Up minutes fervent_albattani

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

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

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

docker events

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

docker export  > 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 seconds ago 200MB
wk.centos aeebe2fd33f8 minutes ago 200MB
centos 5182e96772bf weeks ago 200MB
centos latest 5182e96772bf weeks ago 200MB

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

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

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

 docker history 镜像名

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

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

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

docker inspect 镜像名

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

docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
31719a59fd35 "/bin/bash" minutes ago Up minutes fervent_albattani

docker kill docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
31719a59fd35 "/bin/bash" minutes ago Exited () seconds ago fervent_albattani

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

docker logs 容器ID

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

[root@wk ]# docker pause 9e db       #暂停9e容器和db容器
9e
db

[root@wk ]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9e90abe9c524 "/bin/bash" seconds ago Up seconds (Paused) flamboyant_feynman
db9fdb501a3a "/bin/bash" About a minute ago Up About a minute (Paused) vigilant_brattain

[root@wk ]# docker unpause 9e db    #恢复9e容器和db容器
9e
db

[root@wk ]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9e90abe9c524 "/bin/bash" About a minute ago Up About a minute flamboyant_feynman
db9fdb501a3a "/bin/bash" minutes ago Up minutes vigilant_brattain

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

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

docker port ccc        #查看容器ccc的映射端口
/tcp -> 0.0.0.0:

rename  给容器进程重命名

docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ccc9d58fa6e6 "/bin/bash" minutes ago Up minutes 0.0.0.0:->/tcp elastic_bardeen
9e90abe9c524 "/bin/bash" minutes ago Up minutes flamboyant_feynman
db9fdb501a3a "/bin/bash" minutes ago Up minutes vigilant_brattain

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

restart   重启一个容器进程

docker restart ccc    #重启容器ccc
ccc

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

docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
02e7612375e7 "/bin/bash" minutes ago Up minutes distracted_villani docker stats 02e #时时刷新状态
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
02e7612375e7 distracted_villani 0.00% 380KiB / .077GiB 0.02% .3kB / 0B .59MB / 0B docker 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 / .077GiB 0.02% .3kB / 0B .59MB / 0B

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

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

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

docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos 5182e96772bf weeks ago 200MB

docker tag centos: centos:1 #指定centos:TAG7创建centos:TAG1

docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos 5182e96772bf weeks ago 200MB
centos 5182e96772bf weeks ago 200MB

docker tag 5182e centos:3 #也可以指定IMAGE ID来创建

docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos 5182e96772bf weeks ago 200MB
centos 5182e96772bf weeks ago 200MB
centos 5182e96772bf 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 and , or to disable (default )
--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 (-, ,)
--cpuset-mems string MEMs in which to allow execution (-, ,)
--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.-ce
API version: 1.38
Go version: go1.10.3
Git commit: e68fc7a
Built: Tue Aug ::
OS/Arch: linux/amd64
Experimental: false Server:
Engine:
Version: 18.06.-ce
API version: 1.38 (minimum version 1.12)
Go version: go1.10.3
Git commit: e68fc7a
Built: Tue Aug ::
OS/Arch: linux/amd64
Experimental: false docker wait 容器ID

docker安装和基本命令的更多相关文章

  1. Docker安装与基本命令

    docker安装 Ubuntu 更新apt包索引 sudo apt-get update 更新apt包索引 sudo apt-get upgrade 安装docker sudo apt-get ins ...

  2. docker 安装与基本命令

    安装 Install Docker for Linux Download Docker for Mac Install Docker for Windows 镜像是docker三大核心概念中最重要的. ...

  3. docker安装及基本命令

    Ubuntu安装docker sudo apt-get install docker.io Centos安装docker # 更新系统软件包 yum -y upgrade # 官方下载地址 curl ...

  4. Docker安装与基本命令使用

    1. 卸载旧版本 Docker在CentOS上的安装 官方文档:https://docs.docker.com/engine/install/centos/ sudo yum remove docke ...

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

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

  6. Docker环境安装,基本命令集合

    一.docker安装 1).卸载旧的安装包 centos7默认安装的docker版本是1.13.1,卸载它,安装新的版本. root用户下,一次把这坨命令复制进去 yum remove docker ...

  7. Docker安装基本命令操作,带你了解镜像和容器的概念!

    上一章节我们了解了Docker的基本概念,以及相关原理.这一章节进行实操. <Docker这么火爆.章节一:带你详尽了解Docker容器的介绍及使用> 一.Docker安装 声明:Dock ...

  8. docker版本演变,安装,基本命令

    1.docker 版本信息 Docker CE在17.03版本之前叫Docker Engine,版本号从0.1.0(2013-03-23)~1.13.1(2017-02-08),详见https://d ...

  9. docker初识-docker安装、基于docker安装mysql及tomcat、基本命令

    一.docker是什么 用go语言开发,开源的应用容器引擎,容器性能开销极低 二.整体架构图 Docker 包括三个基本概念: 镜像(Image):Docker 镜像(Image),就相当于是一个 r ...

随机推荐

  1. SAP成都研究院李三郎:SCP Application Router简介

    今天的文章来自李贝宁(Ben),SAP成都研究院的资深程序猿和架构师. 作为成都研究院里同时精通Java, JavaScript和ABAP这三门编程语言的数位同事之一,Ben曾经先后担任了成都CRM ...

  2. 【3】Git命令

    个人推荐的Git知识学习网站:https://git-scm.com . git常用操作图 init -> add -> commit -> remote -> push 初始 ...

  3. Delphi 方法的声明

  4. Ajax返回数据却一直进入error(已经解决)

    做asp.net项目  使用ajax $.ajax({ url: '../Music/Default2.aspx?Types=' + type + '&texts=' + text + '', ...

  5. 03_Redis_String命令

    一:Redis命令---String命令:Redis 字符串数据类型的相关命令用于管理 redis 字符串值 字符串类型是Redis中最为基础.常用的数据存储类型,字符串在Redis中是二进制安全的, ...

  6. bind9+dlz+mysql连接断开问题

    前言 关于bind-dlz介绍:http://bind-dlz.sourceforge.net/ DLZ(Dynamically Loadable Zones)与传统的BIND9不同,BIND的不足之 ...

  7. 通过LVM备份mysql数据库脚本

    #!/bin/bash #******************************************************************** #encoding -*-utf8- ...

  8. 洛谷P4983 忘情 (WQS二分+斜率优化)

    题目链接 忘情水二分模板题,最优解对划分段数的导数满足单调性(原函数凸性)即可使用此方法. 详细题解洛谷里面就有,不啰嗦了. 二分的临界点让人有点头大... #include<bits/stdc ...

  9. Debian常见命令总结

    dpkg学习: (1)dpkg是一个较底层的安装工具,处理.deb文件,软件包依赖性需要更高层的前端工具是apt:    dpkg本身是不能解决依赖的.    dpkg是dpkg-deb的前端,如果d ...

  10. SQL拼串--小问题大毛病

    用字符串拼接SQL串实现动态SQL语句,经常使用. 不过在拼接SQL串中有许多技巧和小陷阱 1.遗漏""和'' 错误案例: 错误结果: 发现没有数据产生..我还以为是连接错了数据库 ...