- 有镜像才能创建容器
- 新建并启动容器 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 centosUsing default tag: latestlatest: Pulling from library/centos7a0437f04f83: Pull completeDigest: sha256:5528e8b1b1719d34604c87e11dcd1c0a20bedf46e83b5632cdeac91b8c04efc1Status: Downloaded newer image for centos:latestdocker.io/library/centos:latest[root@test docker]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEtomcat latest feba8d001e3f 3 weeks ago 649MBcentos 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 imagesREPOSITORY TAG IMAGE ID CREATED SIZEtomcat latest feba8d001e3f 3 weeks ago 649MBcentos latest 300e315adb2f 5 weeks ago 209MB[root@test docker]# docker run -it 300e315adb2f//以300e315adb2f镜像iD和centos为模板生成了名称随机的,容器id为961203efc636的容器//登录进入后悔弹出一个伪终端并可以交互运行容器[root@961203efc636 /]#[root@961203efc636 /]# lsbin 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 CMDroot 1 0 0 00:31 pts/0 00:00:00 /bin/bashroot 20 1 0 00:55 pts/0 00:00:00 ps -ef[root@test docker]# docker images //查看容器REPOSITORY TAG IMAGE ID CREATED SIZEtomcat latest feba8d001e3f 3 weeks ago 649MBcentos 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 -efUID PID PPID C STIME TTY TIME CMDroot 1 0 1 01:15 pts/0 00:00:00 /bin/bashroot 15 1 0 01:15 pts/0 00:00:00 ps -ef
容器查看类 docker ps - xxx 查看容器的什么
1.查看正在运行的所有容器 docker ps
[root@test docker]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESa5f32b921be3 300e315adb2f "/bin/bash" 41 seconds ago Up 38 seconds ttt961203efc636 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 2CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESa5f32b921be3 300e315adb2f "/bin/bash" 4 hours ago Up 4 hours ttt961203efc636 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 -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESa5f32b921be3 300e315adb2f "/bin/bash" About an hour ago Up About an hour ttt961203efc636 300e315adb2f "/bin/bash" 2 hours ago Exited (0) 7 minutes ago optimistic_cohen04bb185c0723 bf756fb1ae65 "/hello" 2 days ago Exited (0) 2 days ago
7.查看上一次创建的容器 docker ps -l
[root@test docker]# docker ps -lCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES36b0cd7d9ffe 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 /]# exitexit[root@test docker]# docker ps -lq36b0cd7d9ffe
容器停止类:
1.容器停止退出 exit
[root@961203efc636 /]# exitexit[root@test docker]# //容器退出运行后回到docker终端[root@test docker]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESa5f32b921be3 300e315adb2f "/bin/bash" 41 seconds ago Up 38 seconds ttt961203efc636 300e315adb2f "/bin/bash" 44 minutes ago Up 44 minutes optimistic_cohen[root@test docker]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESa5f32b921be3 300e315adb2f "/bin/bash" 57 minutes ago Up 57 minutes
2.退出停止的/停止后启动容器
3.退出停止的/停止后重启容器
4.停止容器 含有停止时间
5.强制停止容器 不给停止时间
docker kill +容器ID
[root@test docker]# docker start 80fa0daedeb980fa0daedeb9[root@test docker]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES80fa0daedeb9 300e315adb2f "/bin/bash" 8 minutes ago Up 8 minutes recursing_tu[root@test docker]# docker restart 80fa0daedeb9 //启动后重启容器80fa0daedeb9[root@test docker]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES80fa0daedeb9 300e315adb2f "/bin/bash" 9 minutes ago Up 7 seconds recursing_tu[root@test docker]# docker stop 80fa0daedeb980fa0daedeb9[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 psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES80fa0daedeb9 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 -qa6f7563e2fef3e467a5fd904b4010fc643ce75e3f3e103a2780fa0daedeb936b0cd7d9ffe78aaa48d284aa5f32b921be3961203efc636[root@test docker]# docker rm -f $(docker ps -qa)6f7563e2fef3e467a5fd904b4010fc643ce75e3f3e103a2780fa0daedeb936b0cd7d9ffe78aaa48d284aa5f32b921be3961203efc636[root@test docker]# docker ps -qa[root@test docker]#
4.删除镜像
docker rmi +镜像id
