查看正在运行的容器列表
docker ps
查看所有容器列表,包括正在运行的、已停止运行的
docker ps -a
启动容器
docker run -tid --name <容器名字> <镜像名:tag> /bin/bash
-i:交互式操作
-t:终端
-d:表示可后台运行容器,守护式运行
--name:给容器取的名字。
镜像名:tag:容器镜像及其Tag。可通过 docker images 命令查看
/bin/bash:放在镜像名后的是交互式路径,我们希望有个交互式 Shell,因此用的是 /bin/bash
停止容器
docker stop <容器ID|容器名>
容器ID|容器名:可通过 docker ps 命令查看
重新启动已停止的容器
1. docker start <容器ID>
2. docker restart <容器ID>
删除容器
#删除一个容器
docker rm -f <容器ID|容器名>
#删除多个容器,容器和容器之间使用空格隔开
docker rm -f <容器ID 1|容器名 1> <容器ID 2|容器名 2> <容器ID 3|容器名 3>
进入容器
docker exec -ti <容器ID|容器名>
退出容器
exit
列出镜像列表
docker images
REPOSITORY:镜像的仓库源
TAG:镜像的标签
IMAGE ID:镜像ID
CREATED:镜像创建时间
SIZE:镜像大小
同一仓库源可以有多个 TAG,代表这个仓库源的不同个版本,如 ubuntu 仓库源里,有 15.10、14.04 等多个不同的版本,我们使用 REPOSITORY:TAG 来定义不同的镜像。
删除镜像 , 当前镜像未被任何容器使用才可删除
#删除1个镜像
docker rmi -f <镜像名|镜像ID>
#删除多个镜像,镜像和镜像之间使用空格隔开
docker rmi -f <镜像名 1|镜像ID 1> <镜像名 2|镜像ID 2> <镜像名 3|镜像ID 3>
构建镜像 ,docker build命令更详细介绍见:Docker build 命令介绍
docker build -t <镜像的名字及标签>
-t:镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签
: Dockfile的路径
Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。
FROM <基础镜像>: 定制镜像需要的基础镜像
FROM centos
COPY: 从上下文目录中复制文件或者目录到容器里指定路径
COPY [--chown=:] **<源路径1>... <目标路径>**
[--chown=:]:可选参数,用户改变复制到容器内文件的拥有者和属组。
<源路径>:源文件或者源目录,可以是通配符表达式,其通配符规则要满足 Go 的 filepath.Match 规则。如:COPY lib* /usr/lib
<目标路径>:容器内的指定路径,该路径不用事先建好,路径不存在的话,会自动创建。
ADD:ADD 指令和 COPY 的使用格类似,功能也类似。与COPY 不同在于,ADD命令在执行 <源文件> 为 tar 压缩文件的话,压缩格式为 gzip, bzip2 以及 xz 的情况下,会自动复制并解压到目标路径。
WORKDIR:指定工作目录。用 WORKDIR 指定的工作目录,会在构建镜像的每一层中都存在。
WORKDIR <工作目录路径>