# Docker常用命令
# 帮助命令
docker version # 显示docker的版本信息
docker info # 显示docker的系统信息,包括镜像和容器的数量
docker 命令 --help # 帮助命令
1
2
3
2
3
# 镜像命令
docker images: 查看所有本地主机上的镜像
[root@xxx /]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/mysql latest db2b37ec6181 3 months ago 545 MB
docker.io/mysql 8.0.18 ed1ffcb5eff3 13 months ago 456 MB
# REPOSITORY 镜像的仓库源
# TAG 镜像的标签
# IMAGE ID 镜像ID
# CREATED 镜像的创建时间
# SIZE 镜像大小
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
docker search: 搜索镜像
[root@xxx /]# docker search mysql
INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED
docker.io docker.io/mysql MySQL is a widely used, open-source relati... 10414 [OK]
docker.io docker.io/mariadb MariaDB is a community-developed fork of M... 3866 [OK]
docker.io docker.io/mysql/mysql-server Optimized MySQL Server Docker images. Crea... 762 [OK]
1
2
3
4
5
2
3
4
5
docker pull: 下载镜像
# 默认下载最新版本,即:latest
[root@xxx /]# docker pull mysql
# 通过tag选择要下载的版本
[root@xxx /]# docker pull mysql:8.0.18
1
2
3
4
5
2
3
4
5
dicker rmi: 删除镜像
# 通过镜像的id进行删除
[root@xxx /]# docker rmi -f IMAGE_ID
1
2
2
docker build: 创建镜像
# 根据Dockerfile创建镜像
[root@xxx /]# docker build -t ImageName:TagName path
# ImageName:镜像名
# TagName:镜像的tag名
# path:Dockerfile所在的路径
1
2
3
4
5
2
3
4
5
# 容器命令
有了镜像才可以创建容器
下载镜像:
[root@xxx /]# docker pull centos
1
新建容器并启动:
[root@xxx /]# docker run [可选参数] image
# 参数说明
--name="Name" # 容器名字
-d # 后台方式运行
-it # 示用交互方式运行,进入容器查看内容
-p # 指定容器的端口,使用方式有如下几种:
-p ip:主机端口:容器端口
-p 主机端口:容器端口(常用)
-p 容器端口
容器端口
-P # 随机指定端口
# 启动centos容器
[root@xxx /]# docker run -it centos /bin/bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
退出容器:
# 停止容器并从容器中退回主机
[root@xxx /]# docker exit
# 容器不停止退出
Ctrl + P + Q
1
2
3
4
5
2
3
4
5
列出所有运行中的容器:
[root@xxx /]# docker ps
1
删除容器:
# 删除指定的容器,不能删除运行中的容器,如要强制删除使用rm -f
[root@xxx /]# docker rm 容器id
1
2
2
启动和停止容器:
docker start 容器id # 启动容器
docker restart 容器id # 重启容器
docker stop 容器id # 停止当前正在运行的容器
docker kill 容器id # 强制停止当前容器
1
2
3
4
2
3
4
# 常用的其他命令
后台启动容器:
[root@xxx /]# docker run -d 镜像名
1
查看日志:
# 显示所有日志
[root@xxx /]# docker logs -tf 容器id
# 显示指定条数的日志
[root@xxx /]# docker logs -tf --tail 条数 容器id
1
2
3
4
2
3
4
查看镜像的元数据:
[root@xxx /]# docker inspect 容器id
1
进入当前正在运行的容器:
# 容器通常使用后台方式运行
# 方式一
[root@xxx /]# docker exec -it 容器id /bin/bash
# 方式二
[root@xxx /]# docker attach 容器id
# 两个方式的区别:
# docker exec 进入容器后开启一个新的终端,可以在里面操作(操作)
# docker attach 进入容器正在执行的终端,不会启动新的进程
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
从容器内拷贝文件到主机:
[root@xxx /]# docker cp 容器id:/目录/源文件 /目标目录
1