Docker create命令
Docker create命令概述
Docker create命令 用于创建一个新的 Docker容器,类似 docker run -d 命令。
但是与 docker run -d 不同的是,docker create 创建的容器并未实际启动,还需要执行 docker start 命令或 docker run 命令以启动容器。
事实上,docker create 命令常用于在启动容器之前进行必要的设置。
Docker create命令语法
haicoder(www.haicoder.net)# docker create [OPTIONS] IMAGE [COMMAND] [ARG...]
Docker create命令参数列表
参数列表,类似于 docker run 命令。
案例
创建容器
使用 docker create 命令,创建 docker容器。
haicoder(www.haicoder.net)# docker create ubuntu
#返回报文
76f0e8828dcc4dd060819435039adcfbe66f26726ddc9ea58035d0c46420eaaa
使用 docker ps 命令,查看当前正在运行的容器,显示如下图,所示:
即没有任何正在运行的容器,我们使用 docker ps -a 命令,查看当前所有的容器列表,显示如下图:
我们刚创建的容器,此时已经存在,只是没有运行。
运行容器
使用 docker create 命令,创建 docker容器。
haicoder(www.haicoder.net)# docker create -it --name haicoder ubuntu bash
#返回结果
87cdc6386c7d92e3bb2b71f1c50369652ec6809c26aa388de5ef8b29165ff781
使用 docker ps命令,查看当前正在运行的容器,显示如下图,所示:
即没有任何正在运行的容器,我们使用 docker ps -a 命令,查看当前所有的容器列表,显示如下图:
我们刚创建的容器,此时已经存在,只是没有运行,现在我们使用 docker start命令,启动刚创建的 docker容器。
haicoder(www.haicoder.net)# docker start -a -i haicoder
[root@392ed39de034 /]# ls
anaconda-post.log bin dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
[root@392ed39de034 /]# exit
exit
haicoder(www.haicoder.net)#
使用 docker start 命令,运行容器后,命令行的提示符变了 docker 容器的 id,说明此时已经进入了 docker 容器内部,同时使用 exit 命令,退出容器。
使用 docker rm 命令,删除所有 docker 容器。
haicoder(www.haicoder.net)# docker rm $(docker ps -aq)
#输出信息
392ed39de034
d267bd988263
Docker create命令总结
Docker create命令用于创建一个新的容器,类似 docker run -d 命令。
Docker create命令语法:
docker create [OPTIONS] IMAGE [COMMAND] [ARG...]
Docker exec命令
Docker exec命令概述
docker exec 命令可以用来在运行的 Docker容器 中执行命令。
docker exec命令是需要容器处于运行中且 PID 1 进程也处于运行中才能执行的操作。该命令后面的参数 container 可以是容器 Id 或者是容器名。
Docker exec命令语法
haicoder(www.haicoder.net)# docker exec [options] container command [arg...]
Docker exec命令参数列表
参数 | 描述 |
---|---|
–detach, -d | 后台运行模式,在后台执行命令相关命令。 |
–detach-keys | 覆盖容器后台运行的一些参数信息。 |
–env, -e | 设置环境变量。 |
–interactive, -i | 展示容器输入信息 STDIN。 |
–privileged | 为命令提供一些扩展权限。 |
–tty, -t | 命令行交互模式。 |
–user, -u | 设置用户名。 |
案例
查看文件
使用 docker run 命令,在后台运行一个容器。
haicoder(www.haicoder.net)# docker run -it -d --name haicoder ubuntu /bin/bash
#返回报文
5ee4fdbe4021bdb1983037f405ff6b0535399f8611c5542e52ae7ef9e12eb0c1
使用 docker ps 命令,查看当前正在运行的容器,显示如下图,所示:
使用 docker exec 命令,在运行的容器中执行命令 pwd,即查看当前目录。
haicoder(www.haicoder.net)# docker exec haicoder pwd
#返回结果
/
使用 docker exec 命令,在运行的容器中执行命令 ls,即查看目录文件。
haicoder(www.haicoder.net)# docker exec haicoder ls /tmp
#输出
ks-script-eC059Y
yum.log
使用 docker kill 和 docker rm 命令停止,并删除所有容器。
haicoder(www.haicoder.net)# docker kill haicoder
#输出
haicoder
haicoder(www.haicoder.net)# docker rm `docker ps -aq`
#输出
5ee4fdbe4021
创建文件
使用 docker run 命令,在后台运行一个容器。
haicoder(www.haicoder.net)# docker run -it -d --name haicoder centos /bin/bash
#输出
a2e8af9df8688b848ba5459fcaa47b0a3db2c7cdaaeba92163bf93597081ca08
使用 docker ps命令,查看当前正在运行的容器,显示如下图,所示:
使用 docker exec命令,查看容器的 /etc 目录的文件是否有 haicoder。
haicoder(www.haicoder.net)# docker exec haicoder ls /etc | grep haicoder
此时终端没有任何输出,即 docker 容器的 /etc 目录,没有 haicoder 文件。
使用 docker exec 命令,在 docker 容器内部的 /etc 目录,创建一个 haicoder 文件。
haicoder(www.haicoder.net)# docker exec haicoder mkdir /etc/haicoder
再次使用 docker exec命令,查看容器的 /etc 目录的文件是否有 haicoder。
haicoder(www.haicoder.net)# docker exec haicoder ls /etc | grep haicoder
#输出
haicoder
此时终端输出了 haicoder,即使用 docker exec 在 docker 容器内部创建文件成功。
进入容器
使用 docker run -it -d 命令,启动一个 dokcer容器。
haicoder(www.haicoder.net)# docker run --name haicoder -it -d ubuntu
ecb444c660ac2828a75cfdc6279dfc3b6311537d5cd2944ac757b5c155d0b9a6
使用 docker ps命令,查看当前正在运行的容器,显示如下图所示:
使用 docker exec -it containerName /bin/bash 命令,进入正在运行的 docker 容器,此时终端显示如下图所示:
haicoder(www.haicoder.net)# docker exec -it haicoder /bin/bash
此时,终端提示符变成了容器Id,即我们进入了 docker容器内部。使用 exit 命令或者 Ctrl+d 退出容器,再次使用 docker ps 命令,查看当前正在运行的容器,此时终端显示如下:
原来正在运行的容器还在继续运行。
这里如果使用 docker attach 进入容器后,使用 exit 命令或者 Ctrl+d 退出容器那么运行的容器会退出。
使用 docker kill 和 docker rm 命令,删除所有容器。
haicoder(www.haicoder.net)# docker kill `docker ps -qa` ; docker rm `docker ps -aq`
Docker exec命令总结
docker exec 命令可以用来在运行的 Docker容器中执行命令。该命令是需要容器处于运行中且 PID 1 进程也处于运行中才能执行的操作。
Docker exec命令语法:
docker exec [options] container command [arg...]
Docker run命令
Docker run命令概述
docker run命令 可以用来创建一个新的 Docker容器 并运行一个命令。
Docker run命令语法
[root@localhost ~]# docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
Docker run命令参数列表
参考 Docker run 参数列表。
案例
参考 Docker run 案例。
Docker start命令
Docker start命令概述
docker start 命令可以启动一个或多个已经被停止的 Docker容器。该命令后面的 CONTAINER 可以是容器Id,或者是容器名。
Docker start命令语法
haicoder(www.haicoder.net)# docker start [OPTIONS] CONTAINER [CONTAINER...]
案例
启动容器
首先,使用 docker create 命令,创建一个容器,并不启动。
haicoder(www.haicoder.net)# docker create -it --name haicoder ubuntu bash
4137232c2ac57b2d213c6618ef4d9b79b5281cfea2e3877bc0229360fca02fa6
使用 docker ps 命令,查看当前正在运行的容器,显示如下图,所示:
即没有任何正在运行的容器,现在我们使用 docker start 命令,启动刚创建的 docker 容器。
haicoder(www.haicoder.net)# docker start -a -i haicoder
[root@4137232c2ac5 /]# ls
anaconda-post.log bin dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
haicoder(www.haicoder.net)# exit
exit
haicoder(www.haicoder.net)#
使用 docker start 命令,运行容器后,命令行的提示符变了 docker 容器的 id,说明此时已经进入了 docker 容器内部,同时使用 exit 命令,退出容器。
即,在以上案例中,我们使用 docker start 命令,启动了一个尚未运行的 docker 容器。
最后,我们使用 docker rm 命令,删除所有 docker 容器。
haicoder(www.haicoder.net)# docker rm $(docker ps -aq)
4137232c2ac5
Docker start命令总结
docker start 命令可以启动一个或多个已经被停止的容器。
Docker start命令语法:
docker start [OPTIONS] CONTAINER [CONTAINER...]
Docker stop命令
Docker stop命令概述
docker stop 命令可以用来停止一个运行中的 Docker容器。该命令后面的 CONTAINER 可以是容器Id,或者是容器名。
Docker stop命令语法
haicoder(www.haicoder.net)# docker stop [OPTIONS] CONTAINER [CONTAINER...]
案例
使用容器 ID 停止容器
首先,使用 docker run 命令,创建并运行一个 docker 容器。
haicoder(www.haicoder.net)# docker run -d -it --name haicoder ubuntu
#返回结果
7a01512bff44caa328185c99e52341d20bc45df9858b8b29d0540e226309be39
使用 docker ps 命令,查看当前正在运行的容器,显示如下图,所示:
现在我们使用 docker stop 命令,停止刚运行的 docker 容器。
haicoder(www.haicoder.net)# docker stop 7a01512bff44
7a01512bff44
再次使用 docker ps 命令,查看当前正在运行的容器,显示如下图,所示:
此时,已经没有任何可运行的容器了。即,在以上案例中,我们使用 docker stop containerId 命令,停止一个运行中的 docker容器。
最后,我们使用 docker rm 命令,删除所有 docker 容器。
haicoder(www.haicoder.net)# docker rm $(docker ps -aq)
7a01512bff44
使用容器名停止容器
首先,使用 docker run 命令,创建并运行一个 docker容器。
haicoder(www.haicoder.net)# docker run -d -it --name haicoder ubuntu
601d4499b3202f9851a976fcfc9fda04da34bca0918152386c52c8a60f501eb2
使用 docker ps 命令,查看当前正在运行的容器,显示如下图,所示:
现在我们使用 docker stop containerName 命令,停止刚运行的 docker 容器。
haicoder(www.haicoder.net)# docker stop haicoder
#输出
haicoder
再次使用 docker ps 命令,查看当前正在运行的容器,显示如下图,所示:
此时,已经没有任何可运行的容器了。即,在以上案例中,我们使用 docker stop containerName 命令,停止一个运行中的 docker容器。
最后,我们使用 docker rm 命令,删除所有 docker 容器。
haicoder(www.haicoder.net)# docker rm $(docker ps -aq)
601d4499b320
Docker stop命令总结
docker stop 命令可以用来停止一个运行中的容器。
Docker stop命令语法:
docker stop [OPTIONS] CONTAINER [CONTAINER...]
Docker restart命令
Docker restart命令概述
docker restart 命令可以用来重新启动一个或者多个 Docker容器。该命令后面的 CONTAINER 可以是容器Id,或者是容器名。
Docker restart命令语法
haicoder(www.haicoder.net)# docker restart [OPTIONS] CONTAINER [CONTAINER...]
案例
使用容器 ID 重启容器
首先,使用 docker run 命令,创建并运行一个 docker容器。
haicoder(www.haicoder.net)# docker run -d -it --name haicoder ubuntu
8ca8cde74d8f41dae14c7bfe9722a38cb59cc2e2a71327a35612f11d2c09ebdb
使用 docker ps 命令,查看当前正在运行的容器,显示如下图,所示:
现在我们使用 docker restart 命令,重新启动刚运行的 docker容器。
haicoder(www.haicoder.net)# docker restart 8ca8cde74d8f
8ca8cde74d8f
再次使用 docker ps命令,查看当前正在运行的容器,显示如下图,所示:
此时,我们发现,容器的运行时间变成了 3 秒,即容器被重新启动了。即,在以上案例中,我们使用 docker restart containerId 命令,重新运行一个 docker容器。
最后,我们使用 docker kill 和 docker rm 命令,停止并删除所有 docker容器。
haicoder(www.haicoder.net)# docker kill $(docker ps -aq) && docker rm $(docker ps -aq)
8ca8cde74d8f
8ca8cde74d8f
使用容器名重启容器
首先,使用 docker run 命令,创建并运行一个 docker 容器。
haicoder(www.haicoder.net)# docker run -d -it --name haicoder ubuntu
#输出
401ecddd5f1b676e4a753dcab81091b486a157502da4fc2651ecf3dcc5b370b7
使用 docker ps 命令,查看当前正在运行的容器,显示如下图,所示:
现在我们使用 docker restart containerName 命令,重启刚运行的 docker 容器。
haicoder(www.haicoder.net)# docker restart haicoder
haicoder
再次使用 docker ps 命令,查看当前正在运行的容器,显示如下图,所示:
此时,我们发现,容器的运行时间变成了 3 秒,即容器被重新启动了。即,在以上案例中,我们使用 docker restart containerName 命令,重启一个运行中的 docker 容器。
最后,我们使用 docker kill 和 docker rm 命令,停止并删除所有 docker 容器。
haicoder(www.haicoder.net)# docker kill $(docker ps -aq) && docker rm $(docker ps -aq)
401ecddd5f1b
401ecddd5f1b
Docker restart命令总结
docker restart 命令可以用来重新启动一个或者多个 Docker容器。
Docker restart命令语法:
docker restart [OPTIONS] CONTAINER [CONTAINER...]