Docker 常用命令

镜像

搜索镜像

1
docker search nginx

这里会列出官方和非官方的镜像列表

拉取/下载镜像

1
2
3
4
5
6
7
8
9
# 直接拉取
docker pull nginx

# 拉取最新版本
docker pull nginx:latest

# 拉取指定版本镜像
docker pull nginx:1.15.8

查看本地镜像

1
docker images

删除本地镜像

1
2
# <id>为镜像的id
docker image rm <id>

备份和恢复镜像

1
2
3
4
5
6
# 将运行中的容器(修改后)保存为一个镜像
docker commit <容器id> <镜像名称>
# 将镜像存储为一个tar格式的文件(备份)
docker save <镜像id> > 1.tar
# 读取恢复
docker load < 1.tar

运行镜像

1
2
3
4
# 运行镜像 -d 为后台运行
# -p 指定内外端口映射(外面机器端口:里面机器端口)
# 这里的image_name包含了TAG,比如 jira/jira:v7.12.0
docker run -d -p 80:80 <image_name>

一些常用参数释义:
-d 后台运行容器
-p 指定内外端口映射(外面机器端口:里面机器端口)
-v 绑定一个卷
--link 添加链接到另一个容器
--name 为容器指定一个名称

容器

查看正在运行的容器

1
2
3
4
docker ps

# 添加 -a 参数列出所有(包括被暂停的,不在运行状态的容器)
docker ps -a

控制容器状态

1
2
3
4
5
6
7
8
9
10
11
12
# 启动
docker start name/id
# 停止
docker stop name/id
# 杀死
docker kill name/id
# 重启
docker restart name/id
# 删除容器
docker rm <id or name>
# 强制删除
docker rm -f <id or name>

进入容器bash交互

1
2
3
4
5
# 使用bash进入容器
docker exec -it <id or name> bash

# 退出容器
exit

文件拷入拷出

1
2
3
4
5
# 从本机拷入到容器中
docker cp /local/temp/aa.txt <id>:/tmp/aa.txt

# 从容器中拷出到本机
docker cp <id>:/tmp/aa.txt /local/temp/aa.txt

查看容器日志

1
2
# -f参数为持续输出
docker logs <id>