持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第13天,点击查看活动详情
1.Docker容器日常命令
1.1,查看命令帮助信息
语法格式: docker help docker 参数 --help docker help 参数
1.2.运行一个容器(run)
语法格式: docker run 选项 容器名 CMD docker run 命令选项可以多次调用例如-p,-p 80:80 -p 22:22可以用多次 详细参数:www.cnblogs.com/xiaobaiskil… 注意相同的镜像可以运行多次,并且每次的配置文件,容器地址,容器id都是不同的 每启动一个容器都会多一块vethxxx的网卡
[root@192.168.146.112~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1748c22ce925 nginx:latest "/docker-entrypoint.…" 11 minutes ago Up 11 minutes 0.0.0.0:81->80/tcp, :::81->80/tcp nostalgic_agnesi
a9e8cd73690d nginx "/docker-entrypoint.…" About an hour ago Up 20 minutes 0.0.0.0:80->80/tcp, :::80->80/tcp magical_kirch
后台启动一个容器
[root@192.168.146.112~]# docker run -d -p 90:80 httpd:2.4
5537982a67c7f205a4bde64a56f27f807bc8c8e1635cca00ad8cc9d5337f970e
-d表示后台启动
-p表示端口映射
进入容器里面
[root@192.168.146.112~]# docker run -it centos:latest
[root@e3a28309e86c /]#
默认以容器的id作为主机名
指定容器的名称
[root@192.168.146.112~]# docker run -it --name centos8 centos:latest
不进入容器内部运行命令
直接在最后跟上命令即可
[root@192.168.146.112~]# docker run -it centos:latest ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 02:52 pts/0 00:00:00 ps -ef
-it分配交互式终端
--name指定容器的名字
ps -ef会覆盖容器的初始命令
docker run==docker crente + docker start
1.3.查看容器列表(ps)
只有对镜像进行操作时才会产生容器,默认导入一个镜像是不会产生容器的,所谓的操作比如启动镜像,对镜像进行命令输入等等
语法格式: docker ps 参数: -a :显示所有容器 -l :显示最近启动的一个容器 -q:只打印容器id
两种方式
第一种
只查看运行中的容器
[root@192.168.146.112~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS P
95335712e3b1 centos:latest "/bin/bash" 4 minutes ago Up 45 seconds
e3a28309e86c centos:latest "/bin/bash" 17 minutes ago Up 45 seconds
5fe52595fa1c httpd:2.4 "httpd-foreground" 23 minutes ago Up 46 seconds 8
5537982a67c7 httpd:2.4 "httpd-foreground" 28 minutes ago Up 28 minutes 0
1748c22ce925 nginx:latest "/docker-entrypoint.…" 41 minutes ago Up 41 minutes 0
a9e8cd73690d nginx "/docker-entrypoint.…" 2 hours ago Up 50 minutes 0
查看所有容器
[root@192.168.146.112~]# docker ps -a
CONTAINER ID //容器ID
IMAGE //镜像名称
OMMAND //运行的命令
CREATED //何时开启的容器
STATUS //多长时间将容器打开
PORTS //端口
NAMES //容器名称
第二种
只查看运行中的容器
[root@192.168.146.112~]# docker container ls
查看所有容器
[root@192.168.146.112~]# docker container ls -a
1.4.删除一个或多个容器(rm)
语法格式:**
docker container rm 容器名
-f :强制删除
删除容器操作慎用,当容器删除里面的数据也会随着删除
删除之前先停掉,如果不停,强制删除
[root@192.168.146.112~]# docker container rm thirsty_shtern
thirsty_shtern
删除容器时不光可以对根据容器名删除也可以根据容器id删除
[root@192.168.146.112~]# docker container rm 95335712e3b1 5fe52595fa1c 1748c22ce925
95335712e3b1
5fe52595fa1c
1748c22ce925
批量删除所有容器
先停止所有容器,停止container,这样才能够删除其中的images:
[root@192.168.146.112~]# docker stop $(docker ps -a -q)
b4082308dddf
5537982a67c7
a9e8cd73690d
或docker ps -q |xargs docker stop
删除所有容器
[root@192.168.146.112~]# docker ps -a -q | xargs docker rm
b4082308dddf
5537982a67c7
a9e8cd73690d
或docker rm $(docker ps -a -q)
删除所有镜像
docker rmi $(docker images -q)
1.5.关闭、杀死、启动、重启容器(start...)
语法格式:
docker [start|kill|stop|restart] 容器名称
or
docker container [start|kill|stop|restart] 容器名称
关闭
[root@192.168.146.112~]# docker stop nginx
nginx
杀死
[root@192.168.146.112~]# docker kill 35bd0b2ac976
35bd0b2ac976
[root@192.168.146.112~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
35bd0b2ac976 nginx:latest "/docker-entrypoint.…" 2 minutes ago Exited (137) 8 seconds ago nginx
杀死的进程在exited()中的值都是非0的值
启动
[root@192.168.146.112~]# docker start nginx
nginx
重启
[root@192.168.146.112~]# docker restart nginx
nginx
如果想进入交互式就有-i参数
[root@192.168.146.112~]# docker start -i nginx