6、Docker容器的常用命令

版权声明:原创作品,谢绝转载!否则将追究法律责任。 ————— 作者:kirin

docker image下面都属于镜像有关命令

docker container下面属于容器有关命令

docker network 都是属于网络有关命令

docker volume 都属于卷,存储等相关命令

几乎所有命令都是可以缩写的

例如:docker run ==> docker container run

docker run创建并运行容器(例子:docker run -d -it -p 80:80 nginx:latest)
docker run的时候所有参数必须写在镜像名称前面,否则会报语法错误!!
[root@docker02 ~]#  docker run

演示:(准备启动人生中第一个容器吧)
[root@docker01 ~]# docker run -it centos:7 
[root@8ade774387ed /]#

-I ##交互式
-t ##终端
-it ##合起来就是分配一个交互式的终端
这个启动的容器是最小化安装的,查看网卡配置信息的命令都没有,需要优化系统哟~
退出当前的容器是exit
docker ps 查看容器列表
-a 查看所有容器
-l 只显示最新的、运行时间最短的容器
[root@docker01 ~]#  docker container ps -a (不加-a参数就是只显示正在运行的容器)
第一列:是容器的id号
第二列:是镜像名称
第三列:容器的初始命令
第四列:容器的创建时间
第五列:容器的状态
第六列:是否做了端口映射
第七列:容器的名字

再次执行 docker run -it centos:7 会发现启动了一个新的容器,之前在上一个容器装的命令新容器里并不能运行,如何解决这个问题呢?只能是在底层修改镜像。

[root@docker01 ~]#  docker run -it centos:7 
docker create 创建容器 –name(默认是随机创建名字,名字不能相同)
[root@docker01 ~]#  docker contain er create nginx:latest 

docker start 启动容器,可以接名字也可以接id号码
docker stop 停止容器,可以接名字也可以接id号码
docker restart 重启容器,可以接名字也可以接id号码
docker run ==> docker create + docker start(所以一般都是用docker run

docker rm 删除容器(不能删除正在运行中的容器)
[root@docker01 ~]#  docker rm ffe962a05172

#docker rm -f可以强制删除正在运行中的容器
[root@docker01 ~]#  docker rm -f determined_cori
~~~sh
![](https://img2022.cnblogs.com/blog/2757997/202206/2757997-20220603100742204-1773406901.png)
~~~sh
#批量删除所有容器  docker rm -f `docker ps -a -q`  (也可以像下面那样在后面多接几个容器的id号码或名字都可以)
[root@docker01 ~]#  docker rm -f a57e16a1733a eac05eb0547b
[root@docker01 ~]#  docker rm -f `docker ps -a -q`

如何进入一个正在运行中的容器?两种方法:

docker attach 进入正在运行的容器(使用相同的终端),偷偷离开的快捷键ctrl +p,ctrl +q

docker exec 进入正在运行的容器(分配一个新终端)

例子: docker exec -it 容器id/容器名字 /bin/bash(/bin/sh)

##所以,使用docker exec才是最合理的,exec会分配一个新的终端

容器想要放在后台一直运行的话那么容器的初始命令,必须夯住(前台运行),否则容器就会退出

[root@docker01 ~]#  docker run -d -it centos:7 tail -f /etc/hosts
-d 参数是在后台运行
#不加-d参数会在前台夯住,能夯住就能一直运行
运行nginx的容器是bebian的系统,所以yum就不能用了,需要用apt-get
root@9997e1decb89:/#   cat /etc/os-release 

root@4f8d5a50ea37:/#  apt-get update

root@4f8d5a50ea37:/#   apt-get install -y procps
root@4f8d5a50ea37:/#   ps aux

nginx -g ‘daemon off;’ (意思是让nginx在前台运行,并且夯住)
/usr/sbin/php-fpm –nodaemonize
/usr/sbin/sshd -D
posted @ 2022-06-03 10:12  kirin(麒麟)  阅读(129)  评论(0编辑  收藏  举报
Δ