• Docker 命令详解:容器、镜像、网络和数据卷管理



    Docker 是一个开源的应用容器引擎,它允许开发者打包他们的应用以及应用的依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
    以下是一些常用的 Docker 命令及其用法和场景:

    1. docker run

    命令: docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
    用法: 启动一个新容器。
    场景: 当你想要从一个镜像创建一个新容器并运行一个命令时使用。
    示例:

    • 启动一个名为 my_containerubuntu 镜像容器并执行 echo "Hello, Docker!" 命令:
      docker run -name my_container -it ubuntu echo "Hello, Docker!"
      
      • 1

    2. docker pull

    命令: docker pull [OPTIONS] NAME[:TAG|@digest]
    用法: 从仓库拉取或者更新指定的镜像。
    场景: 当你需要下载一个镜像到本地仓库时使用。
    示例:

    • 从 Docker Hub 拉取最新的 ubuntu 镜像:
      docker pull ubuntu
      
      • 1

    3. docker images

    命令: docker images [OPTIONS]
    用法: 列出本地存储的镜像。
    场景: 当你需要查看本地所有镜像列表时使用。
    示例:

    • 查看本地所有镜像:
      docker images
      
      • 1

    4. docker ps

    命令: docker ps [OPTIONS]
    用法: 列出当前运行的容器。
    场景: 当你需要查看当前运行的容器列表时使用。
    示例:

    • 查看所有运行中的容器:
      docker ps
      
      • 1

    5. docker stop

    命令: docker stop [OPTIONS] NAME|ID
    用法: 停止一个运行中的容器。
    场景: 当你需要停止一个不再需要的运行中的容器时使用。
    示例:

    • 停止名为 my_container 的容器:
      docker stop my_container
      
      • 1

    6. docker rm

    命令: docker rm [OPTIONS] NAME|ID
    用法: 删除一个或多个容器。
    场景: 当你需要删除一个不再需要的容器时使用。
    示例:

    • 删除名为 my_container 的容器:
      docker rm my_container
      
      • 1

    7. docker commit

    命令: docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
    用法: 将容器的当前状态作为一个新的镜像保存。
    场景: 当你对一个运行中的容器做了修改,并希望保存这些修改作为一个新的镜像时使用。
    示例:

    • 将名为 my_container 的容器提交为一个新镜像,命名为 new_image
      docker commit my_container new_image
      
      • 1

    8. docker exec

    命令: docker exec [OPTIONS] NAME|ID COMMAND [ARG...]
    用法: 在运行的容器中执行命令。
    场景: 当你需要在运行中的容器中执行命令时使用。
    示例:

    • 在名为 my_container 的容器中执行 ls 命令:
      docker exec my_container ls
      
      • 1

    9. docker logs

    命令: docker logs [OPTIONS] NAME|ID
    用法: 获取容器的日志输出。
    场景: 当你需要查看或跟踪容器的输出时使用。
    示例:

    • 查看名为 my_container 的容器的日志输出:
      docker logs my_container
      
      • 1

    10. docker network

    命令: docker network [OPTIONS] COMMAND
    用法: 管理 Docker 的网络设置。
    场景: 当你需要创建或管理容器的网络连接时使用。
    示例:

    • 创建一个名为 my_network 的网络:
      docker network create my_network
      
      • 1

    11. docker volume

    命令: docker volume [OPTIONS] COMMAND
    用法: 管理 Docker 的数据卷。
    场景: 当你需要持久化或共享容器数据时使用。
    示例:

    • 创建一个数据卷:
      docker volume create my_volume
      
      • 1
    • 查看所有数据卷:
      docker volume ls
      
      • 1
    • 查看指定数据卷的信息:
      docker volume inspect my_volume
      
      • 1
    • 删除一个数据卷:
      docker volume rm my_volume
      
      • 1
    • 挂载一个数据卷到容器:
      docker run -d --name my_container -v my_volume:/path/to/mounted_volume my_image
      
      • 1
    • 挂载一个本地目录到容器:
      docker run -d --name my_container -v /local/path:/path/to/mounted_volume my_image
      
      • 1
    • 挂载一个只读卷:
      docker run -d --name my_container -v my_volume:/path/to/mounted_volume:ro my_image
      
      • 1
    • 挂载多个卷:
      docker run -d --name my_container -v my_volume:/path/to/mounted_volume -v another_volume:/path/to/another_mounted_volume my_image
      
      • 1

    说明:

    • create: 创建一个新的数据卷。
    • ls: 列出所有本地数据卷。
    • inspect: 显示关于一个或多个数据卷的信息。
    • rm: 删除一个或多个数据卷。
    • mount: 挂载一个数据卷或本地目录到容器中。
      在挂载数据卷时,你可以使用本地目录,也可以挂载现有的数据卷。挂载时指定的路径在容器内部可见,并且可以作为容器内的文件系统路径使用。还可以通过 :ro 选项将卷挂载为只读,或者使用 :Z 选项(在 Linux 上)来设置卷的权限。
      数据卷是 Docker 中非常重要的一个功能,它使得数据的持久化和共享变得简单,并且可以跨容器的使用数据卷,这在多个容器之间共享数据时非常有用。

    12. docker save

    命令: docker save [OPTIONS] NAME|ID
    用法: 将一个或多个镜像保存到本地文件。
    场景: 当你需要备份或传输镜像时使用。
    示例:

    • 将名为 my_image 的镜像保存到当前目录下的 my_image.tar 文件:
      docker save my_image > my_image.tar
      
      • 1

    13. docker load

    命令: docker load [OPTIONS] file
    用法: 从本地文件加载一个镜像。
    场景: 当你需要从备份或传输的文件中恢复镜像时使用。
    示例:

    • 从当前目录下的 my_image.tar 文件加载镜像:
      docker load < my_image.tar
      
      • 1

    14. docker tag

    命令: docker tag [OPTIONS] IMAGE[:TAG|@digest] REPOSITORY[:TAG]
    用法: 标记一个镜像以便于引用。
    场景: 当你需要给镜像打上标签以便于管理时使用。
    示例:

    • 将名为 my_image 的镜像标记为 REPOSITORY/my_image:latest
      docker tag my_image REPOSITORY/my_image:latest
      
      • 1

    15. docker search

    命令: docker search [OPTIONS] QUERY
    用法: 在 Docker Hub 上搜索镜像。
    场景: 当你需要查找可在 Docker Hub 上使用的镜像时使用。
    示例:

    • 在 Docker Hub 上搜索 ubuntu 镜像:
      docker search ubuntu
      
      • 1

    以上就是 Docker 的一些常用命令及其用法和场景。掌握这些命令,你可以更好地使用 Docker 来进行开发、测试和部署你的应用程序。

    16. docker diff

    命令: docker diff [OPTIONS] CONTAINER
    用法: 显示容器的更改信息。
    场景: 当你需要查看容器自上次启动以来有何更改时使用。
    示例:

    • 查看名为 my_container 的容器的更改:
      docker diff my_container
      
      • 1

    17. docker cp

    命令: docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH
    用法: 在容器之间或容器与宿主机之间复制文件或目录。
    场景: 当你需要在容器之间,或容器与宿主机之间传输文件时使用。
    示例:

    • 从名为 my_container 的容器中复制 /app/data 文件到宿主机的 /home/user/ 目录:
      docker cp my_container:/app/data /home/user/
      
      • 1

    18. docker pause

    命令: docker pause [OPTIONS] NAME|ID
    用法: 暂停一个或多个正在运行的容器。
    场景: 当你需要临时停止一个或多个容器时使用。
    示例:

    • 暂停名为 my_container 的容器:
      docker pause my_container
      
      • 1

    19. docker unpause

    命令: docker unpause [OPTIONS] NAME|ID
    用法: 恢复一个或多个被暂停的容器。
    场景: 当你需要恢复一个或多个被暂停的容器时使用。
    示例:

    • 恢复名为 my_container 的容器:
      docker unpause my_container
      
      • 1

    20. docker attach

    命令: docker attach [OPTIONS] NAME|ID
    用法: 连接到正在运行的容器的标准输入。
    场景: 当你需要与正在运行的容器交互时使用。
    示例:

    • 连接到名为 my_container 的运行中的容器:
      docker attach my_container
      
      • 1

    21. docker stats

    命令: docker stats [OPTIONS] NAME|ID
    用法: 显示容器的资源使用情况。
    场景: 当你需要监控容器的资源使用情况时使用。
    示例:

    • 显示所有运行中的容器的资源使用情况:
      docker stats --all
      
      • 1

    22. docker wait

    命令: docker wait [OPTIONS] NAME|ID
    用法: 等待一个或多个容器停止。
    场景: 当你需要在容器停止后进行其他操作时使用。
    示例:

    • 等待名为 my_container 的容器停止:
      docker wait my_container
      
      • 1

    23. docker rmi

    命令: docker rmi [OPTIONS] NAME|ID
    用法: 删除一个或多个镜像。
    场景: 当你需要删除一个或多个不再需要的镜像时使用。
    示例:

    • 删除名为 my_image 的镜像:
      docker rmi my_image
      
      • 1

    24. docker build

    命令: docker build [OPTIONS] PATH
    用法: 使用 Dockerfile 构建镜像。
    场景: 当你需要从 Dockerfile 构建一个镜像时使用。
    示例:

    • 从当前目录下的 Dockerfile 构建镜像:
      docker build .
      
      • 1
  • 相关阅读:
    LLM大模型实战 —— DB-GPT阿里云部署指南
    【文件终结者 Objective-C语言】
    猿创征文|【Linux Debug】Linux调试工具——GDB介绍
    Day07--wxs的概念以及其基本的用法
    SpringBoot下Maven-多环境打包配置详解
    深入理解 JVM 之——动手编译 JDK
    【快速上手教程6】疯壳·开源编队无人机-遥控器固件烧写
    gitlab-ce搭建和数据迁移
    视频制作不求人:批量添加滚动字幕的详细教程
    Mybatis
  • 原文地址:https://blog.csdn.net/qq_35716085/article/details/136344531