• Docker入门指南


    Docker是统一开发、测试和部署环境的软件系统环境管理工具,自2013年开始兴起。与传统的虚拟机相比,Docker共享内存,减少了资源开销。

    1. 核心概念

    Docker 有三大核心组件:repositories(仓库)、images(镜像)、container(容器)。其所有应用及操作,均围绕这三类组件开展。

    repositories仓库)是集中存放Docker镜像的场所,就像放置软件安装光盘的光盘盒。它一般布置在远程的云服务器上,有私有仓库和公共仓库之分(一般公共仓库就是指 DockerHub)。每个仓库中可以存储多个镜像,且每个镜像上都可以有不同的标签。

    images镜像)是创建 container(容器)的模板,相当于系统安装光盘。它包括操作系统和App(应用程序)的运行环境,可以到 repositories(仓库)中去下载。

    container容器)是根据 images(镜像)创建的一个实际的(虚拟)软件运行环境,使用Docker时,我们的应用程序就运行在其中。

    2. Docker 服务的架构

    Docker服务是一种典型的C/S架构,算上云端的镜像仓库,它由三部分构成:DockerClient、DockerHost 和 DockerRegistry。如下图所示:

    Docker架构示意图

    DockerClient 是 Docker 服务程序与用户(使用者)的交互界面,一般为 Doc 命令行窗口形式,它负责接收 Docker 操作指令并返回操作结果及输出日志。

    DockerHost 是 Docker 服务的后台管理程序,它负责按用户指令操作 Docker 容器与镜像及与仓库的通信。它可以运行在本机或本地服务器上(如 Windows 系统下安装的 Docker Desktop)。

    DockerRegistry 是 Docker仓库的管理程序,它负责根据 DockerHost 的请求来收发镜像。它一般运行在云端,由专业的云服务提供商(或公司的对应技术部门)负责,不需要 Docker 使用者做任何操作。

    3. 常用命令

    Docker 的常用命令如下图所示,主要涉及获取镜像、创建及进入容器、从容易生成镜像和上传镜像四类。
    在这里插入图片描述

    获取镜像常用 build 和 pull 命令,如:

    # docker pull  镜像名称:镜像标签
    docker pull continuumio/anaconda3:latest
    
    • 1
    • 2

    创建容器常用 run 命令1,如:

    # docker run  [可选参数]  镜像名称:镜像标签  /bin/bash
    docker run -it  --name="env_p38"  -p 8001:8001  -p 6375:22/tcp  --privileged -v D:\MyProject:/home:rw  --ipc=host  --gpus all -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all  hadeszsc/my_anaconda3:2022.07.18  /bin/bash
    
    • 1
    • 2

    启动或停止容器常用 start 或 stop 命令,如:

    # docker start/stop  容器名称
    docker start/stop my_container
    
    • 1
    • 2

    (启动容器后)进入出容器内部(操作界面)常用 exec 命令2,如:

    # docker exec  [可选参数]  容器名称(或容器id)  /bin/bash
    docker exec -it 7ec43d247350b33b4789b8b38afdcd6ce48d5076e13fb071b57e5b9a6d0808dc /bin/bash
    
    • 1
    • 2

    从容器生成镜像常用 commit 命令,如:

    # docker commit  -m="镜像描述"  -a="作者"  容器id  仓库名称/镜像名称:镜像标签
    docker commit -m="test" -a="author" c63187fa79ab37b432803255eea371aba93f615567369a722d7ddd33aea290da hadeszsc/my_anaconda3:test
    
    • 1
    • 2

    将镜像上传的到仓库,常用 push 命令,如:

    # docker push  仓库名称/镜像名称:镜像标签
    docker push hadeszsc/my_anaconda3:2021.05
    
    • 1
    • 2

    4. Docker 的安装及使用

    Windows系统中,Docker的安装方法,请详见作者文章:Docker入门指南:Docker 安装方法(Win10 家庭版)


    1. run 命令可选参数详情 ↩︎

    2. exec 命令可选参数详情 ↩︎

  • 相关阅读:
    Visual Studio 2022下载安装的详细步骤-----C语言编辑器
    如何使用 CocoaPods 将智能生活 App SDK iOS 版快速集成到项目中
    C++入门教程(八、枚举类型)
    C语言学习系列->联合体and枚举
    《最新出炉》系列初窥篇-Python+Playwright自动化测试-36-处理web页面定位toast-下篇
    [Spring]第七篇:日志框架和测试支持
    深入学习Linux中的“文件系统和日志分析”
    【让你从0到1学会c语言】程序环境和预处理指令
    核酸检测多少人为一组混检合适?
    Unity3D : 本地坐标系,世界坐标系,和TransformPoint,TransformVector,TransformDirection的区别
  • 原文地址:https://blog.csdn.net/xunyishuai5020/article/details/125889069