build
使用Dockerfile创建镜像
OPTIONS说明
参数 | 解释 |
---|---|
--build-arg=[] |
设置镜像创建时的变量 |
--cpu-shares |
设置 CPU 使用权重 |
--cpu-period |
限制 CPU CFS 周期 |
--cpu-quota |
限制 CPU CFS 配额 |
--cpuset-cpus |
指定使用的 CPU id |
--cpuset-mems |
指定使用的内存 id |
--disable-content-trust |
忽略校验,默认开启 |
-f |
指定要使用的 Dockerfile 路径 |
--force-rm |
设置镜像过程中删除中间容器 |
--isolation |
使用容器隔离技术 |
--label=[] |
设置镜像使用的元数据 |
-m |
设置内存最大值 |
--memory-swap |
设置 Swap 的最大值为内存 +swap,"-1"表示不限 swap |
--no-cache |
创建镜像的过程不使用缓存 |
--pull |
尝试去更新镜像的新版本 |
-q |
安静模式,成功后只输出镜像 ID |
--rm |
设置镜像成功后删除中间容器 |
--shm-size |
设置 /dev/shm 的大小,默认值是 64M |
--ulimit |
Ulimit 配置 |
样例
从已经创建的容器中更新镜像,并且提交这个镜像
OPTIONS说明
参数 | 解释 |
---|---|
-m |
提交的描述信息 |
-a |
指定镜像作者 |
ede0be5f1842 |
容器 ID (通过docker ps -a 查看) |
mysql:v2 |
mysql 镜像的仓库源名 v2 镜像的标签 |
样例
使用 Dockerfile 指令来创建一个新的镜像
我们使用命令 docker build
,从零开始来创建一个新的镜像。为此,我们需要创建一个 Dockerfile 文件,其中包含一组指令来告诉 Docker 如何构建我们的镜像。
OPTIONS说明
参数 | 解释 |
---|---|
-t |
指定要创建的目标镜像名 |
imagesname:2.0 |
imagesname 镜像的仓库源名 2.0 镜像的标签 |
/home/shitao/file/ |
dockerfile 路径 |
tag
标记本地镜像,将其归入某一仓库
OPTIONS说明
参数 | 解释 |
---|---|
9e64176cd8a2 |
镜像 id (镜像名) |
mysql163:2.0.1 |
mysql163 镜像的仓库源名 2.0.1 镜像的标签 |
使用 docker images
命令可以看到,ID为 9e64176cd8a2
的镜像多个标签
save
将指定镜像保存成 tar 归档文件
将镜像 runoob/ubuntu:v3 生成 my_ubuntu_v3.tar 文档
OPTIONS说明
参数 | 解释 |
---|---|
9e64176cd8a2 |
镜像 id (镜像名) |
/home/shitao/Downloads/mysql.tar |
保存的地址 |
import
从归档文件中创建镜像
OPTIONS说明
参数 | 解释 |
---|---|
mysql:0.2 |
mysql 镜像的仓库源名 0.2 镜像的标签 |
/home/shitao/Downloads/mysql.tar |
归档文件地址 |
inspect
获取容器/镜像的元数据
OPTIONS说明
参数 | 解释 |
---|---|
-f |
指定返回值的模板文件 |
-s |
显示总的文件大小 |
--type |
为指定类型返回JSON |
样例
docker inspect 9e6
容器生命周期管理
run
docker run -it hub.c.163.com/library/mysql /bin/bash
OPTIONS说明
参数 | 解释 |
---|---|
-i |
以交互模式运行容器,通常与 -t 同时使用 |
-t |
为容器重新分配一个伪输入终端,通常与 -i 同时使用 |
hub.c.163.com/library/mysql |
镜像名 |
-P |
将容器内部使用的网络端口映射到我们使用的主机上 |
-d |
后台运行容器,并返回容器ID |
start
启动一个或多少已经被停止的容器
stop
停止一个运行中的容器
restart
重启容器
kill
杀掉一个运行中的容器
rm
删除一个或多少容器
OPTIONS说明
参数 | 解释 |
---|---|
-f |
通过 SIGKILL 信号强制删除一个运行中的容器 |
-l |
移除容器间的网络连接,而非容器本身 |
-v |
删除与容器关联的卷 |
删除指定容器
删除所有容器
exec
在运行的容器中执行命令
OPTIONS说明
参数 | 解释 |
---|---|
-d |
分离模式: 在后台运行 |
-i |
即使没有附加也保持 STDIN 打开 |
-t |
分配一个伪终端 |
样例
容器操作
ps
查看正在运行的容器
OPTIONS说明
参数 | 解释 |
---|---|
-a |
显示所有的容器,包括未运行的 |
-f |
根据条件过滤显示的内容 |
--format |
指定返回值的模板文件 |
-l |
显示最近创建的容器 |
-n |
列出最近创建的n个容器 |
--no-trunc |
不截断输出 |
-q |
静默模式,只显示容器编号 |
-s |
显示总的文件大小 |
样例
docker ps
CONTAINER ID | IMAGE | COMMAND | CREATED | STATUS | PORTS | NAMES |
---|---|---|---|---|---|---|
5a0ec27520c6 | hub.c.163.com/library/mysql | "docker-entrypoint..." | 12 seconds ago | Up 9 seconds | 3306/tcp | amazing_ardinghelli |
各个项目说明:
项目 | 解释 |
---|---|
CONTAINER ID |
容器ID |
IMAGE |
镜像名称 |
COMMAND |
命令 |
CREATED |
容器创建时间 |
PORTS |
端口 |
NAMES |
容器名称 |
inspect
获取容器/镜像的元数据
OPTIONS说明
参数 | 解释 |
---|---|
-f |
指定返回值的模板文件 |
-s |
显示总的文件大小 |
--type |
为指定类型返回JSON |
样例
docker inspect 9e6
top
查看容器中运行的进程信息,支持 ps 命令参数
logs
获取容器的日志
OPTIONS说明
参数 | 解释 |
---|---|
-f |
跟踪日志输出 |
--since |
显示某个开始时间的所有日志 |
-t |
显示时间戳 |
--tail |
仅列出最新N条容器日志 |
样例