Docker(二)Docker常用命令
原创2019/12/24...大约 3 分钟
Docker常用命令,持续更新。
只介绍比较常用的命令,完整命令介绍可查看官方文档。
镜像操作
| 命令 | 描述 |
|---|---|
| pull IMAGE | 从镜像服务器上获取镜像 |
| images, image ls | 查看本地镜像信息 |
| inspect IMAGE | 查看某个镜像的详细信息 |
| rmi IMAGE | 删除镜像 |
| save -o file.tar IMAGE | 导出镜像 |
| load -i file.tar | 导入镜像 |
| tag OLD_TAG NEW_TAG | 为镜像设置一个新标签 |
| build -t IMAGE . | 从当前目录构建镜像,最后的“.”表示当前目录 |
容器操作
run
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
创建一个新容器并启动,相当于docker create + docker start
| OPTION | 描述 |
|---|---|
| --name | 指定容器名称 |
| --cpus | CPU数量 |
| -d | 后台运行,并输出容器ID |
| --env,-e | 设置环境变量,格式key=value |
| --env-file | 指定环境变量文件 |
| -i | 启用交互模式 |
| -t | 分配一个tty终端,通常和-i一起用 |
| -m | 内存大小(字节) |
| --memory-swap | 设置内存交换区大小(字节) |
| -p | 把容器端口与主机端口绑定。格式 [IP:]PORT:CONTAINER_PORT/tcp |
| -P | 随机映射主机端口 |
| --rm | 容器退出后自动删除 |
| -w | 容器内的默认工作目录 |
| -v | 挂载数据卷,格式 -v HOST_PATH:CONTAINER_PATH 路径一般指定的是目录而不是文件,HOST_PATH也可以用数据卷的名称来代替 |
| --link | 链接到另一个容器,格式 --link 容器名:别名 通过链接,允许容器在不映射端口的情况下实现互联 |
| --add-host domain:ip | 在容器的hosts文件内加host记录 |
提示
在同一台主机上的docker容器之间网络本来就是互通的,可以在容器内ping ip测试。使用--link是为了可以用容器别名来访问,加了--link后,会将环境变量链接到本容器并更新/etc/hosts文件。
update
更新容器配置。docker update [OPTIONS] CONTAINER [CONTAINER...]
主要是更新cpu、内存、重启策略等配置。
注意
Windows系统不支持update
exec
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
在运行的容器中执行命令,通常只需开启一个shell终端,可在终端里执行更多其他命令:
docker exec -it CONTAINER /bin/shcp
docker cp FROM TO
在容器和宿主机之间拷贝文件或文件夹。
FROM或TO可以用CONTAINER:PATH来表示容器内的文件路径- 如果FROM=
-表示指向标准输入 - 如果TO=
-表示指向标准输出
其他操作
| 命令 | 描述 |
|---|---|
| start CONTAINER | 启动容器 |
| stop CONTAINER | 停止容器 |
| restart CONTAINER | 重启容器 |
| port CONTAINER | 查看容器的端口号 |
| top CONTAINER | 查看容器内的进程 |
| stats [CONTAINER] | 查看容器的统计信息,包括CPU、内存、存储、网络等。 不指定容器则查看所有 |
| rm CONTAINER | 删除容器 -v 同时删除挂载的数据卷 -f 强制删除运行中的容器 |
| container prune | 删除所有未运行的容器 慎用 |
| logs CONTAINER | 查看容器日志 -f 持续输出日志 --since 1m 输出1分钟前开始之后的日志 |
数据卷操作
在linux中,数据卷默认保存在/var/lib/docker/volumes目录下,Windows中数据卷被封装起来了,只能通过命令来查看。
| 命令 | 描述 |
|---|---|
| volume create VOLUME_NAME | 创建数据卷 |
| volume ls | 查看数据卷 |
| volume prune | 删除所有本地未使用的数据卷 |
使用docker run -v可挂载数据卷,见docker run命令