- 有镜像才能创建容器
- 新建并启动容器 docker run
- 容器查看类 docker ps - xxx 查看容器的什么
- 1.查看正在运行的所有容器 docker ps
- 2.查看当前所有正在运行的容器+历史上运行过的 docker ps -a
- 3.查上两次运行过的容器 docker ps -n 2
- 4.查看正在运行的容器id docker ps -q
- 5.查看当前和历史运行(全部)的容器的id docker ps -qa
- 6.查看当前和历史创建过(全部)的运行容器 docker ps -a
- 7.查看上一次创建的容器 docker ps -l
- 8.查看上一次创建过的容器的id docker ps -lq
- 容器停止类:
- 1.容器停止退出 exit
- 2.退出停止的/停止后启动容器
- 3.退出停止的/停止后重启容器
- 4.停止容器 含有停止时间
- 5.强制停止容器 不给停止时间
- 6.容器不停止退出 CTRL+P+Q
- 删除类:
有镜像才能创建容器
[root@test docker]# docker pull centos
Using default tag: latest
latest: Pulling from library/centos
7a0437f04f83: Pull complete
Digest: sha256:5528e8b1b1719d34604c87e11dcd1c0a20bedf46e83b5632cdeac91b8c04efc1
Status: Downloaded newer image for centos:latest
docker.io/library/centos:latest
[root@test docker]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
tomcat latest feba8d001e3f 3 weeks ago 649MB
centos latest 300e315adb2f 5 weeks ago 209MB
//从阿里云拉下的centos镜像是精简版的,去除了硬件虚拟机化的资源。
新建并启动容器 docker run
常用的是 联合 it命令
—name=”容器新名字”:为容器指定一个名称;
-d:后台运行容器,并返回容器ID,也即启动守护式容器;
-i:以交互模式运行容器,通常与t同时使用;
-t:为容器重新分配一个伪输入终端,通常与-i同时使用;
-P:随机端口映射;
-p:指定端口映射,有以下四种格式
ip:hostPort:containerPort
ip::containerPort
hostPort:containerPort
containerPort
[root@test docker]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
tomcat latest feba8d001e3f 3 weeks ago 649MB
centos latest 300e315adb2f 5 weeks ago 209MB
[root@test docker]# docker run -it 300e315adb2f
//以300e315adb2f镜像iD和centos为模板生成了名称随机的,容器id为961203efc636的容器
//登录进入后悔弹出一个伪终端并可以交互运行容器
[root@961203efc636 /]#
[root@961203efc636 /]# ls
bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var
[root@961203efc636 /]# ps -ef //在当前容器中查看进程
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 00:31 pts/0 00:00:00 /bin/bash
root 20 1 0 00:55 pts/0 00:00:00 ps -ef
[root@test docker]# docker images //查看容器
REPOSITORY TAG IMAGE ID CREATED SIZE
tomcat latest feba8d001e3f 3 weeks ago 649MB
centos latest 300e315adb2f 5 weeks ago 209MB
[root@test docker]# docker run -it --name=ttt 300e315adb2f
// 以ttt为名称运行 镜像id为 300e315adb2f的centos容器,容器id为a5f32b921be3
//进入容器后可以执行linux命令
[root@a5f32b921be3 /]# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 1 01:15 pts/0 00:00:00 /bin/bash
root 15 1 0 01:15 pts/0 00:00:00 ps -ef
容器查看类 docker ps - xxx 查看容器的什么
1.查看正在运行的所有容器 docker ps
[root@test docker]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a5f32b921be3 300e315adb2f "/bin/bash" 41 seconds ago Up 38 seconds ttt
961203efc636 300e315adb2f "/bin/bash" 44 minutes ago Up 44 minutes optimistic_cohen
//以/bin/bash 命令的方式登录进了id为961203efc636的容器,状态是up,表示登录状态。
//在启动容器时没有指定容器的名称,docker给容器随机分配了一个名称 optimistic_cohen
//一个镜像可以启动多个容器
2.查看当前所有正在运行的容器+历史上运行过的 docker ps -a
3.查上两次运行过的容器 docker ps -n 2
[root@test docker]# docker ps -n 2
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a5f32b921be3 300e315adb2f "/bin/bash" 4 hours ago Up 4 hours ttt
961203efc636 300e315adb2f "/bin/bash" 5 hours ago Exited (0) 3 hours ago optimistic_cohen
4.查看正在运行的容器id docker ps -q
5.查看当前和历史运行(全部)的容器的id docker ps -qa
6.查看当前和历史创建过(全部)的运行容器 docker ps -a
[root@test docker]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a5f32b921be3 300e315adb2f "/bin/bash" About an hour ago Up About an hour ttt
961203efc636 300e315adb2f "/bin/bash" 2 hours ago Exited (0) 7 minutes ago optimistic_cohen
04bb185c0723 bf756fb1ae65 "/hello" 2 days ago Exited (0) 2 days ago
7.查看上一次创建的容器 docker ps -l
[root@test docker]# docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
36b0cd7d9ffe 300e315adb2f "/bin/bash" 2 minutes ago Exited (0) 2 minutes ago clever_leavitt
8.查看上一次创建过的容器的id docker ps -lq
-q:静默模式,只显示容器编号。
[root@test docker]# docker run -it 300e315adb2f
[root@36b0cd7d9ffe /]# exit
exit
[root@test docker]# docker ps -lq
36b0cd7d9ffe
容器停止类:
1.容器停止退出 exit
[root@961203efc636 /]# exit
exit
[root@test docker]# //容器退出运行后回到docker终端
[root@test docker]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a5f32b921be3 300e315adb2f "/bin/bash" 41 seconds ago Up 38 seconds ttt
961203efc636 300e315adb2f "/bin/bash" 44 minutes ago Up 44 minutes optimistic_cohen
[root@test docker]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a5f32b921be3 300e315adb2f "/bin/bash" 57 minutes ago Up 57 minutes
2.退出停止的/停止后启动容器
3.退出停止的/停止后重启容器
4.停止容器 含有停止时间
5.强制停止容器 不给停止时间
docker kill +容器ID
[root@test docker]# docker start 80fa0daedeb9
80fa0daedeb9
[root@test docker]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
80fa0daedeb9 300e315adb2f "/bin/bash" 8 minutes ago Up 8 minutes recursing_tu
[root@test docker]# docker restart 80fa0daedeb9 //启动后重启容器
80fa0daedeb9
[root@test docker]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
80fa0daedeb9 300e315adb2f "/bin/bash" 9 minutes ago Up 7 seconds recursing_tu
[root@test docker]# docker stop 80fa0daedeb9
80fa0daedeb9
[root@test docker]# docker ps //直接停止后查看正在运行的容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@test docker]# docker stop 80fa0daedeb9 //直接停止
80fa0daedeb9
[root@test docker]# docker restart 80fa0daedeb9 //直接停止后重新启动容器
80fa0daedeb9
[root@test docker]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
80fa0daedeb9 300e315adb2f "/bin/bash" 15 minutes ago Up 4 seconds recursing_tu
6.容器不停止退出 CTRL+P+Q
CTRL+P+Q
删除类:
1.删除单个容器
2.删除当前正在运行的容器
3.删除全部的容器 (包含正在运行的和已经关闭的)
docker rm -f $(docker ps -qa) 等同于
docker ps -a -q |xargs docker rm xargs为linux可变参数,
意味着把管道符上一个命令的结果集传递给下一个命令。
[root@test docker]# docker ps -qa
6f7563e2fef3
e467a5fd904b
4010fc643ce7
5e3f3e103a27
80fa0daedeb9
36b0cd7d9ffe
78aaa48d284a
a5f32b921be3
961203efc636
[root@test docker]# docker rm -f $(docker ps -qa)
6f7563e2fef3
e467a5fd904b
4010fc643ce7
5e3f3e103a27
80fa0daedeb9
36b0cd7d9ffe
78aaa48d284a
a5f32b921be3
961203efc636
[root@test docker]# docker ps -qa
[root@test docker]#
4.删除镜像
docker rmi +镜像id