注:有了镜像才可以创建并启动容器:本文在centos7.9下创建centos:latest
下载最新版centos:
docker pull centosdoker run 创建并启动容器
$ docker run [OPTIONS] IMAGE [COMMAND] [ARG...]可选项,OPTIONS
操作案例:#参数说明:(此处只解释常用参数官方全部参数请查看此篇文章)
–name=“Name” # 容器名称,如 tomcat01、tomcat02用于区分容器
-d # 后台运行
-it # 使用交互方式运行,如进入容器
-P # 指定容器端口 如:-P 8080:8080
-P 主机IP:主机端口:容器端口
-P 主机端口:容器端口(常用)
-P 容器端口
容器端口-p # 随机指定端口
docker run -it centos /bin/bash
docker ps 列出容器测试创建成功,并查看系统:
[root@c83f944aa84d /]# cat /etc/redhat-release
CentOS Linux release 8.4.2105[root@c83f944aa84d /]# ls
bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var通过测试我们可看到已经创建成功并进入其中进行交互操作,其中c83f944aa84d为容器ID
退出容器并测试已退出
[root@c83f944aa84d /]# exit
exit # 退出并关闭容器
[root@localhost ~]# ls
anaconda-ks.cfg Desktop Downloads initial-setup-ks.cfg 公共 模板 视频 图片 文档 下载 音乐 桌面若只退出当前交互模式
Mac: control + P + Q win: Ctrl + P + Q
$ docker ps [OPTIONS]可选项,OPTIONS
| 名称,简写 | 默认 | 描述 |
|---|---|---|
| --all , -a | 显示所有容器(默认显示正在运行) | |
| --filter , -f | 根据提供的条件过滤输出 | |
| --format | 使用 Go 模板的漂亮打印容器 | |
| --last , -n | -1 | 显示 n 个最后创建的容器(包括所有状态) |
| --latest , -l | 显示最新创建的容器(包括所有状态) | |
| --no-trunc | 不要截断输出 | |
| --quiet , -q | 只显示容器 ID | |
| --size , -s | 显示总文件大小 |
docker ps -a
2、显示最近运行过的两个容器输出:
ConTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c83f944aa84d centos “/bin/bash” 11 minutes ago Exited (0) 5 minutes ago hardcore_jennings
92be413aabca hello-world “/hello” 36 hours ago Exited (0) 36 hours ago suspicious_hawking
fae891c96daa hello-world “/hello” 36 hours ago Exited (0) 36 hours ago admiring_cohen
dc56b3f9840e hello-world “/hello” 5 days ago Exited (0) 5 days ago elastic_galileo注:不加 -a 只显示当前正在运行的容器
docker ps -a -n=2
3、显示全部运行过的容器的ID输出:
[root@localhost ~]# docker ps -a -n=2
ConTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c83f944aa84d centos “/bin/bash” 15 minutes ago Exited (0) 9 minutes ago hardcore_jennings
92be413aabca hello-world “/hello” 36 hours ago Exited (0) 36 hours ago suspicious_hawking
docker ps -a -q 或 docker ps -aq
docker rm 删除容器(一个或多个)输出:
[root@localhost ~]# docker ps -aq
c83f944aa84d
92be413aabca
fae891c96daa
dc56b3f9840e
$ docker rm [OPTIONS] ConTAINER [CONTAINER...]可选项,OPTIONS
| 名称,简写 | 默认 | 描述 |
|---|---|---|
| --force , -f | 强制移除正在运行的容器(使用 SIGKILL) | |
| --link , -l | 删除指定链接 | |
| --volumes , -v | 删除与容器关联的匿名卷 |
docker rm -f elastic_galileo 或 docker rm -f dc56b3f9840e
2、删除全部容器输出:
[root@localhost ~]# docker rm -f elastic_galileo
elastic_galileo注:上面查看所有时以知道全面容器信息
docker rm -f $(docker ps -aq) 或 docker ps -aq | xargs docker rm -f
启动、停止、重启、杀掉容器输出:
注:不加 -f 将无法删除正在运行的容器
[root@localhost ~]# docker rm -f $(docker ps -aq)
7320f5b301b2
c83f944aa84d
92be413aabca
fae891c96daa查看删除效果
[root@localhost ~]# docker ps -a
ConTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
$ docker start 容器ID/名 $ socker stop 容器ID/名 $ docker restart 容器ID/名 $ docker kill 容器ID/名操作案例: 1、启动最近的一个容器
docker start $(docker ps -aq -n=1)
2、停止刚刚启动的容器输出:
[root@localhost ~]# docker start $(docker ps -aq -n=1)
1dc0fca4bcd8
docker stop 1dc0fca4bcd8
3、重启刚停止的容器输出:
[root@localhost ~]# docker stop 1dc0fca4bcd8
1dc0fca4bcd8
[root@localhost ~]# docker ps
ConTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
docker restart $(docker ps -aq -n=1)
4、杀死刚启动的容器输出:
[root@localhost ~]# docker restart $(docker ps -aq -n=1)
1dc0fca4bcd8
[root@localhost ~]# docker ps
ConTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1dc0fca4bcd8 centos “/bin/bash” 10 minutes ago Up 3 seconds hardcore_roentgen
docker kill 1dc0fca4bcd8
输出:
[root@localhost ~]# docker kill 1dc0fca4bcd8
1dc0fca4bcd8
[root@localhost ~]# docker ps
ConTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@localhost ~]# docker ps -a
ConTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1dc0fca4bcd8 centos “/bin/bash” 12 minutes ago Exited (137) 14 seconds ago hardcore_roentgen



