MySQL, Oracle, Linux, 软件架构及大数据技术知识分享平台

网站首页 > 精选文章 / 正文

小白必藏!Docker 常用命令大汇总_docker常用命令大全简书

2025-02-20 15:47 huorong 精选文章 3 ℃ 0 评论

Docker 是一个开源的容器化平台,用于开发、部署和运行应用程序。它通过将应用程序及其依赖项打包到一个轻量级的、可移植的容器中,实现了应用程序的快速部署和跨环境一致性。无论是开发人员、测试人员还是运维人员,都可以通过 Docker 提高工作效率。


Docker 的核心概念

  1. 容器(Container)

容器是一个轻量级的、独立的、可执行的软件包,包含运行应用程序所需的所有内容(代码、运行时、库、环境变量等)。

容器与宿主机共享操作系统内核,因此比虚拟机更轻量、启动更快。

  1. 镜像(Image)

镜像是容器的模板,是一个只读的文件系统,包含运行容器所需的代码和依赖。

镜像可以通过 Dockerfile 构建,也可以从 Docker Hub 等镜像仓库拉取。

  1. Dockerfile

Dockerfile 是一个文本文件,包含一系列指令,用于定义如何构建 Docker 镜像。

示例:

FROM ubuntu:20.04
RUN apt-get update && apt-get install -y python3
COPY . /app
CMD ["python3", "/app/main.py"]
  1. Docker Hub

Docker Hub 是一个公共的镜像仓库,用户可以从中拉取官方或社区提供的镜像,也可以上传自己的镜像。

  1. Docker Compose

Docker Compose 是一个工具,用于定义和运行多容器应用程序。通过一个 docker-compose.yml 文件,可以管理多个容器的配置和依赖关系。


Docker 的优势

  1. 一致性

容器化确保应用程序在不同环境(开发、测试、生产)中运行一致,避免“在我机器上能运行”的问题。

  1. 轻量高效

容器共享宿主机的操作系统内核,比虚拟机更轻量,启动更快,资源占用更少。

  1. 可移植性

容器可以在任何支持 Docker 的平台上运行,包括物理机、虚拟机、云服务器等。

  1. 隔离性

每个容器都是独立的,拥有自己的文件系统、网络和进程空间,互不干扰。

  1. 快速部署

通过镜像可以快速启动容器,极大地简化了应用程序的部署流程。


Docker 的典型使用场景

  1. 微服务架构

每个微服务可以打包为一个独立的容器,便于开发、测试和部署。

  1. 持续集成/持续部署(CI/CD)

在 CI/CD 流水线中使用 Docker,确保构建和测试环境的一致性。

  1. 开发环境标准化

开发者可以通过 Docker 快速搭建一致的开发环境,避免环境配置问题。

  1. 云原生应用

Docker 是云原生应用的核心技术之一,常用于 Kubernetes、OpenShift 等平台。

  1. 快速原型开发

通过 Docker 可以快速启动各种服务(如数据库、消息队列等),方便开发和测试。


Docker 的基本工作流程

  1. 编写 Dockerfile 定义镜像。
  2. 使用 docker build 构建镜像。
  3. 使用 docker run 运行容器。
  4. 将镜像推送到 Docker Hub 或其他镜像仓库。
  5. 在其他环境中拉取镜像并运行容器。

镜像常用命令

1.拉取镜像
从 Docker Hub 或其他镜像仓库拉取镜像。

docker pull <镜像名>:<标签>

示例:

docker pull ubuntu:20.04

2.查看本地镜像
列出本地所有镜像。

docker images

3.删除镜像
删除本地镜像。

docker rmi <镜像名或ID>

4.构建镜像
根据 Dockerfile 构建镜像。

docker build -t <镜像名>:<标签> 

示例:

docker build -t myapp:1.0 .

5.导出镜像
将镜像保存为 tar 文件。

docker save -o <文件名>.tar <镜像名>

6.导入镜像
从 tar 文件加载镜像。

docker load -i <文件名>.tar

容器相关命令

1.运行容器
基于镜像启动一个新容器。

docker run [选项] <镜像名>

常用选项:

-d: 后台运行( detached 模式)。

-p <主机端口>:<容器端口>: 端口映射。

-v <主机目录>:<容器目录>: 挂载卷。

--name <容器名>: 指定容器名称。

-e <环境变量>: 设置环境变量。

--rm: 容器退出后自动删除。

示例:

docker run -d -p 8080:80 --name mynginx nginx

2.查看运行中的容器
列出正在运行的容器。

docker ps

查看所有容器(包括已停止的):

docker ps -a

3.启动/停止/重启容器

docker start <容器名或ID>
docker stop <容器名或ID>
docker restart <容器名或ID>

4.进入容器
进入正在运行的容器的终端。

docker exec -it <容器名或ID> /bin/bash

5.查看容器日志
查看容器的日志输出。

docker logs <容器名或ID>

6.删除容器
删除已停止的容器。

docker rm <容器名或ID>

强制删除运行中的容器:

docker rm -f <容器名或ID>

7.查看容器详细信息
查看容器的配置和状态。

docker inspect <容器名或ID>

8.复制文件
在容器和主机之间复制文件。

docker cp <容器名或ID>:<容器路径> <主机路径>  # 从容器复制到主机
docker cp <主机路径> <容器名或ID>:<容器路径>  # 从主机复制到容器

网络相关命令

1.查看网络列表
列出所有 Docker 网络。

docker network ls

2.创建网络
创建一个自定义网络。

docker network create <网络名>

3.连接容器到网络
将容器连接到指定网络。

docker network connect <网络名> <容器名或ID>

4.断开容器与网络的连接
将容器从指定网络断开。

docker network disconnect <网络名> <容器名或ID>

5.查看网络详情
查看网络的详细信息。

docker network inspect <网络名>

卷相关命令

1.查看卷列表
列出所有 Docker 卷。

docker volume ls

2.创建卷
创建一个新的卷。

docker volume create <卷名>

3.查看卷详情
查看卷的详细信息。

docker volume inspect <卷名>

4.删除卷
删除未使用的卷。

docker volume rm <卷名>

其他常用命令

1.查看 Docker 版本

docker --version

2.查看 Docker 系统信息

docker info

3.清理未使用的资源
删除未使用的镜像、容器、网络和卷。

docker system prune

强制清理所有未使用的资源:

docker system prune -a

4.查看容器资源使用情况
查看容器的 CPU、内存等资源使用情况。

docker stats <容器名或ID>

5.查看 Docker 日志
查看 Docker 守护进程的日志。

journalctl -u docker.service

Docker Compose 常用命令

1.启动服务
根据 docker-compose.yml 启动服务。

docker-compose up

后台运行:

docker-compose up -d

2.停止服务
停止并删除容器。

docker-compose down

3.查看服务状态
查看当前服务的状态。

docker-compose ps

4.查看服务日志
查看服务的日志输出。

docker-compose logs

5.重启服务
重启服务。

docker-compose restart

以上是 Docker 的常用命令,涵盖了大部分日常操作场景。如果需要更详细的帮助,可以使用 docker --help 或 docker <命令> --help 查看具体命令的用法。

推荐学习资源:Docker 教程 | 菜鸟教程

Tags:重启容器

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言