.
...
图片

上传格式要求:jpg、gif、png(10MB),最多上传50个文件

圈 主
管理员 0 中国
发布:2024-06-24 (08:56:53)

Docker 提供了大量的命令来管理容器、镜像、网络和数据卷等。以下是一些常用的 Docker 命令及其示例:

  1. 1. 查看 Docker 版本信息

docker version
  1. 1. 查看 Docker 系统信息

docker info
  1. 1. 列出所有镜像

docker images
  1. 1. 拉取镜像

docker pull [镜像名称:标签]

例如,拉取官方的 Nginx 镜像:

docker pull nginx:latest
  1. 1. 删除镜像

docker rmi [镜像ID或名称]

例如,删除名为 nginx 的镜像:

docker rmi nginx
  1. 1. 列出所有运行的容器

docker ps
  1. 1. 列出所有容器(包括已停止的)

docker ps -a
  1. 1. 创建并启动容器

docker run [选项] [镜像名称] [命令]

例如,使用 Nginx 镜像创建一个名为 my-nginx 的容器:

docker run --name my-nginx -d nginx
  1. 1. 停止容器

docker stop [容器ID或名称]

例如,停止名为 my-nginx 的容器:

docker stop my-nginx
  1. 1. 启动已停止的容器

docker start [容器ID或名称]
  1. 1. 重启容器

docker restart [容器ID或名称]
  1. 1. 删除容器

docker rm [容器ID或名称]
  1. 1. 进入正在运行的容器

docker exec -it [容器ID或名称] /bin/bash
  1. 1. 从容器复制文件到主机

docker cp [容器ID或名称]:[容器内路径] [主机路径]
  1. 1. 将主机文件复制到容器

docker cp [主机路径] [容器ID或名称]:[容器内路径]
  1. 1. 查看容器的日志

docker logs [容器ID或名称]
  1. 1. 查看容器的详细信息

docker inspect [容器ID或名称]
  1. 1. 创建自定义镜像: 使用 Dockerfile 文件构建镜像,然后使用以下命令:

docker build -t [镜像名称:标签] [Dockerfile所在的目录路径]
  1. 1. 导出镜像为文件

docker save -o [输出文件名.tar] [镜像名称:标签]
  1. 1. 从文件导入镜像

docker load -i [输入文件名.tar]
  1. 1. 创建网络

docker network create [网络名称]
  1. 1. 删除网络

docker network rm [网络ID或名称]
  1. 1. 查看所有网络

docker network ls
  1. 1. 创建数据卷

docker volume create [数据卷名称]
  1. 1. 查看所有数据卷

docker volume ls
  1. 1. 删除数据卷

docker volume rm [数据卷名称]
  1. 1. 设置容器环境变量

docker run -e "VARIABLE_NAME=value" [镜像名称]
  1. 1. 设置容器端口映射

docker run -p [宿主机端口]:[容器端口] [镜像名称]

例如,将容器的 80 端口映射到宿主机的 8080 端口:

docker run -p 8080:80 nginx
  1. 1. 设置容器名称

docker run --name [容器名称] [镜像名称]
  1. 1. 在后台运行容器并输出容器 ID

docker run -d [镜像名称]
  1. 1. 显示容器进程信息

docker top [容器ID或名称]
  1. 1. 查看容器的资源使用情况

docker stats [容器ID或名称]
  1. 1. 修改容器的配置

docker update [选项] [容器ID或名称]

例如,限制容器的内存使用:

docker update --memory="1g" [容器ID或名称]
  1. 1. 将容器保存为镜像

docker commit [容器ID或名称] [新镜像名称:标签]
  1. 1. 运行 Docker 守护进程

systemctl start docker
  1. 1. 停止 Docker 守护进程

systemctl stop docker
  1. 1. 重启 Docker 守护进程

systemctl restart docker
  1. 1. 查看 Docker 守护进程状态

systemctl status docker
  1. 1. 设置 Docker 开机自启

systemctl enable docker
  1. 1. 禁止 Docker 开机自启

systemctl disable docker
  1. 1. 清理不再使用的镜像、容器、网络和卷

docker system prune

此命令会清理所有未使用的资源,要小心使用,因为它会删除所有未关联的镜像、容器、网络和卷。

  1. 1. 清理悬挂的镜像(即无标签的镜像)

docker image prune
  1. 1. 清理已停止的容器

docker container prune
  1. 1. 清理未使用的网络和卷

docker network prune
docker volume prune
  1. 1. 设置 Docker 仓库地址

Docker 默认使用 Docker Hub 作为镜像仓库,但你可以通过配置 /etc/docker/daemon.json 文件来更改仓库地址或添加私有仓库。

{
  "registry-mirrors": ["https://your-mirror-address.com"]
}

修改完文件后,需要重启 Docker 服务使配置生效。

  1. 1. 使用 Docker Compose 管理多容器应用

Docker Compose 是一个工具,用于定义和运行多容器的 Docker 应用程序。通过编写 docker-compose.yml 文件,你可以轻松启动、停止和重启多个容器。

docker-compose up   # 启动服务
docker-compose down  # 停止并删除服务
  1. 1. 将容器导出为 tar 包

docker export [容器ID或名称] > [文件名].tar

这会将容器的文件系统导出为一个 tar 包,不包含 Docker 的元数据和配置信息。

  1. 1. 从 tar 包导入为镜像

cat [文件名].tar | docker import - [镜像名称:标签]

使用导入的 tar 包创建一个新的 Docker 镜像。

  1. 1. 标签镜像

docker tag [源镜像名称:标签] [目标镜像名称:标签]

为已有的镜像添加一个新的标签。

  1. 1. 查看镜像的创建历史

docker history [镜像名称:标签]

显示镜像的创建历史,包括每一层的创建命令和大小。

  1. 1. 设置容器的存储驱动

Docker 支持多种存储驱动,如 overlay2、devicemapper 等。你可以通过修改 Docker 的配置文件来设置默认的存储驱动。

  1. 1. 在容器中执行多条命令

docker exec -it [容器ID或名称] /bin/sh -c "命令1; 命令2; 命令3"

使用 /bin/sh -c 可以在容器内执行多条命令。

  1. 1. 限制容器的 CPU 和内存使用

在 docker run 命令中使用 --cpus 来限制容器的 CPU 使用,使用 --memory 来限制容器的内存使用。

docker run --cpus="1.5" --memory="2g" [镜像名称]
  1. 1. 设置容器的 IP 地址

使用 --ip 选项可以为容器指定一个静态 IP 地址。这通常与自定义网络一起使用。

  1. 1. 设置容器的 DNS

使用 --dns 选项可以为容器指定自定义的 DNS 服务器。

docker run --dns=8.8.8.8 --dns=8.8.4.4 [镜像名称]
  1. 1. 挂载卷并设置权限

在 docker run 命令中使用 --mount 选项可以挂载卷,并通过 ro 或 rw 设置卷的读写权限。

docker run --mount type=volume,src=<卷名称>,dst=<容器内路径>,readonly [镜像名称]
  1. 1. 为容器设置健康检查

使用 --health-cmd--health-interval--health-timeout 和 --health-retries 选项可以为容器设置健康检查。

docker run --health-cmd="curl --fail http://localhost:80/ || exit 1" --health-interval=5s [镜像名称]
  1. 1. 使用 secret 管理敏感信息

Docker secret 可以用于在 swarm 模式下管理敏感信息,如密码、密钥等。

docker secret create [secret名称] [文件路径]
  1. 1. 在 swarm 模式下部署服务

Docker swarm 是 Docker 的容器编排工具,允许你定义和运行一个服务,该服务由多个容器实例组成。

docker stack deploy -c [docker-compose.yml文件路径] [服务名称]
  1. 1. 滚动更新服务

在 swarm 模式下,你可以使用 docker service update 命令来滚动更新服务,而无需停机。

docker service update --image [新镜像名称:标签] [服务名称]

这只是 Docker 的一部分高级命令和功能。Docker 生态系统非常庞大,还包括很多与之集成的工具和平台,如 Docker Compose、Docker Swarm、Kubernetes 等,它们提供了更强大的容器编排和管理能力。为了充分利用 Docker 的功能,建议继续深入学习和实践。

关闭

账号登录