N.1 查看容器
1)查看正在运行容器,#docker ps |
——————————————————————
——————————————————————
——————————————————————
2)查看所有的容器(启动与未启动的容器),#docker ps -a |
——————————————————————
——————————————————————
3)查看最后一次运行的容器,#docker ps –l |
——————————————————————
——————————————————————
4)查看停止的容器,#docker ps -f status=exited |
——————————————————————
——————————————————————
N.2 创建与启动容器
注意:必须先有镜像,再有容器,下面以CentOS镜像演示,先拉去 镜像 #docker pull centos:7 。 1)创建容器命令,#docker run [OPTIONS] 镜像名:标签名 (1)创建容器 [OPTIONS] 常用的参数说明: [1] -i 表示交互式运行容器(就是创建容器后,马上会启动容器,并进入容器 ),通常与-t 同时使用 [2] -t 启动后会进入其容器命令行, 通常与 -i 同时使用; 加入 -it 两个参数后,容器创建就能登录进去。即分配一个伪终端。 [2] --name 为创建的容器指定一个名称 。 [3] -d 创建一个守护式容器在后台运行,并返回容器ID; 这样创建容器后不会自动登录容器,如果加-i 参数,创建后就会运行容器。 [4] -v 表示目录映射, 格式为: -p 宿主机目录:容器目录 注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。 [5] -p 表示端口映射,格式为: -p 宿主机端口:容器端口 2)交互式容器 (1)说明: 就是创建容器后,马上会启动容器,并进入容器。 (2)创建一个交互式容器并取名为 mycentos , ( /bin/bash 是linux中的命令解析器,会进入到容器里面命令行,注意:docker 命令是不能在容器里面使用)。 (3)#docker run -it --name=mycentos centos:7 /bin/bash |
——————————————————————
——————————————————————
——————————————————————
(4)新开一个 shell 窗口,再创建一个 mycentos1 容器 |
——————————————————————
——————————————————————
(5)总结: 同一个镜像, 可运行多个容器 |
N.3 退出容器
1)退出并停止当前容器 (1)注意在容器内部的命令行执行,#exit |
——————————————————————
——————————————————————
2)退出不停止当前容器,按键盘: Ctrl + p + q |
——————————————————————
——————————————————————
N.4 启动与停止容器
1)启动已运行过的容器,#docker start 容器名称|容器id |
——————————————————————
——————————————————————
2)启动所有运行过的容器 (1)是查询所有运行过的容器ID:docker ps -a -q , (2)#docker start `docker ps -a -q` |
——————————————————————
——————————————————————
3)停止正在运行的容器,#docker stop 容器名称|容器id (1)当然前面的exit和stop,在某些情况, 有一样的效果 |
——————————————————————
——————————————————————
4)强制停止正在运行的容器(一般不用此,除非卡了),#docker kill 容器名称|容器id |
——————————————————————
——————————————————————
5)停止所有在运行的容器,#docker stop `docker ps -a -q` |
——————————————————————
——————————————————————
N.5 创建守护式容器
1)如果对于一个需要长期运行的容器来说,我们可以创建一个守护式容器(后台运行的容器)。 (1)创建(-d)并运行(-i)守护式容器命令如下(容器名称不能重复): #docker run -id --name=mycentos2 centos:7 |
——————————————————————
——————————————————————
N.6 登录容器
1)登录已经启动的容器方式: (1)使用 docker exec 进入容器中打开命令行终端 (2)如:#docker exec -it 容器名称|容器id /bin/bash |
——————————————————————
——————————————————————
2)exit 针对通过 docker exec 进入的容器,只退出但不停止容器。 |
——————————————————————
——————————————————————
N.7 拷贝宿主机与容器中的文件
1)将宿主机文件拷贝到容器内 (1)#docker cp 要拷贝的宿主机文件或目录 容器名称:容器文件或目录 |
——————————————————————
——————————————————————
——————————————————————
——————————————————————
2)从容器内文件拷贝到宿主机。 (1)#docker cp 容器名称:要拷贝的容器文件或目录 宿主机文件或目录 (2)(文件拷贝 docker cp 命令 均在宿主机中操作) |
N.8 数据目录挂载
我们可以在创建容器的时候,将宿主机的目录与容器内的目录进行映射, 这样我们就可以通过修改宿主机某个目录的文件从而去影响容器。使用 -v 选项 1)目录挂载 (1)#docker run -id -v /宿主机绝对路径目录:/容器内目录 --name=容器名 镜像名 |
——————————————————————
——————————————————————
2)目录挂载只读(Read-only)权限 (1)#docker run -id -v /宿主机绝对路径目录:/容器内目录:ro --name=容器名 镜像名 |
——————————————————————
——————————————————————
N.9 看容器内部细节
1)查看容器运行内部细节,比如可看容器的IP。 (1)#docker inspect 容器名 |
——————————————————————
——————————————————————
N.10 查看容器IP地址
1)直接显示IP地址。 (1)#docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名 |
——————————————————————
——————————————————————
N.11 删除容器
1)删除指定的容器: (1)#docker rm 容器名称 | 容器ID |
——————————————————————
——————————————————————
2)删除所有容器(其中运行中的容器无法删除,所以先停再删): (1)#docker rm `docker ps -a -q` |
——————————————————————
——————————————————————