Docker常用命令
2023-04-02 本文已影响0人
轻轻敲醒沉睡的心灵
docker 一般使用命令操作,常见的命令需要熟悉。
1. Docker软件命令
- 启动docker:
systemctl start docker
- 启动docker:
- 停止docker:
systemctl stop docker
- 停止docker:
- 重启docker:
systemctl restart docker
- 重启docker:
- 查看docker状态:
systemctl status docker
- 查看docker状态:
- 开机启动:
systemctl enable docker
- 开机启动:
- 查看docker概要信息:
docker info
- 查看docker概要信息:
- 查看docker总体帮助文档:
docker --help
- 查看docker总体帮助文档:
- 查看docker命令帮助文档:
docker 具体命令 --help
- 查看docker命令帮助文档:
2. 镜像相关命令
- 列出本地主机上的镜像:
docker images
- 列出本地主机上的镜像:
# REPOSITORY:表示镜像的仓库源
# TAG:镜像的标签版本号
# IMAGE ID:镜像ID
# CREATED:镜像创建时间
# SIZE:镜像大小
# 同一仓库源可以有多个 TAG版本,代表这个仓库源的不同个版本,我们使用 REPOSITORY:TAG 来定义不同的镜像。
# 如果你不指定一个镜像的版本标签,例如你只使用 ubuntu,docker 将默认使用 ubuntu:latest 镜像
# 列出本地所有的镜像(含历史映像层)
docker images -a
# 只显示镜像ID
docker images -q
- 查找镜像:
docker search XXX
- 查找镜像:
# 网站
https://hub.docker.com
# --limit : 只列出N个镜像,默认25个
docker search --limit 5 redis
- 拉取镜像:
docker pull XXX
- 拉取镜像:
# 默认拉取镜像版本:latest
docker pull ubuntu
# 指定版本(TAG):
docker pull mysql:8.0.7
- 删除镜像:
docker rmi XXX
- 删除镜像:
docker rmi debian
# 强制删除,有容器使用这个镜像时也能删
docker -f rmi debian
# 删除全部 --- 慎用,最好不用
·docker rmi -f $(docker images -qa)
- 查看镜像/容器/数据卷所占的空间:
docker system df
- 查看镜像/容器/数据卷所占的空间:
3. 容器相关命令
- 启动容器
docker run
- 启动容器
# 前台启动:以交互模式启动一个容器,启动完成后会进入容器,
docker run -it ubuntu /bin/bash
参数说明:
-i: 交互式操作。
-t: 终端。
ubuntu : ubuntu 镜像。
/bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。
要退出终端,直接输入 exit。
# 后台启动:守护式容器
docker run --restart=always --log-opt max-size=1000m --log-opt max-file=2 -p 6379:6379 --name redis5 -v /data/redis/redis.conf:/etc/redis/redis.conf -v /data/redis/data:/data -d redis:5.0.14 redis-server /etc/redis/redis.conf --appendonly yes --requirepass 123
参数说明:
--restart=always:自动重启
-p:端口映射。-p 宿主机端口(安装docker的电脑的端口):docker容器内部的端口
-v:目录卷映射。-v 宿主机目录:容器内部目录
-d:后台运行
--name:容器自定义的名字
--log-opt:日志相关
redis:5.0.14:镜像
redis-server /etc/redis/redis.conf redis启动命令,并指定配置文件
--requirepass: 指定redis 密码
# 注意,上面启动命令,从redis-server往后,是redis特有的,其他镜像容器 不一定有
- 列出容器
docker ps
- 列出容器
# 列出正在运行的容器
docker ps
# 列出所有容器
docker ps -a
# 列出最近创建的容器
docker ps -l
# 列出最近创建的n个容器
docker ps -n
- 退出容器
# run进去容器,exit退出,容器停止
exit
# run进去容器,ctrl+p+q退出,容器不停止
ctrl+p+q
- 进入容器
# 方法1
docker exec -it 容器ID /bin/bash
# 方法2
docker attach 容器ID
# 区别:attach 直接进入容器启动命令的终端,不会启动新的进程 用exit退出,会导致容器的停止。
# exec 是在容器中打开新的终端,并且可以启动新的进程 用exit退出,不会导致容器的停止。
# ·推荐使用 docker exec 命令,因为退出容器终端,不会导致容器的停止。
- 容器启停
docker start 容器ID或者容器名称
docker stop 容器ID或者容器名称
docker restart 容器ID或者容器名称
# 强制停止容器
docker kill 容器ID或者容器名称
- 删除容器
docker rm 容器ID
# 一次性删除多个容器实例
docker rm -f $(docker ps -a -q)
docker ps -a -q | xargs docker rm
- 查看容器日志
docker logs [OPTIONS] 容器ID
[OPTIONS]
-f : 跟踪日志输出
-t : 显示时间戳
--tail :仅列出最新N条容器日志
--since:显示某个日期至今的所有日志
docker logs -f -t --tail 100 --since "2023-01-01" 1234567890abcdefg
- 查看容器内运行的进程
docker top 容器ID
- 查看容器内部细节
docker inspect 容器ID
- 从容器内拷贝文件到主机上
docker cp 容器ID:容器内路径 目的主机路径
- 导入和导出容器
# export 导出容器的内容留作为一个tar归档文件[对应import命令]
docker export 容器ID > 文件名.tar
# import 从tar包中的内容创建一个新的文件系统再导入为镜像[对应export]
cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号