#### 1. docker 安装 #### 在线安装 可以参考官方文档 https://docs.docker.com/engine/install/centos/ ```shell # linux centos # 1.卸载之前安装 sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine # 2.设置 docker repository sudo yum install -y yum-utils sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo # 3. 安装 docker engine sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin sudo systemctl start docker ``` #### 离线安装 登陆 https://download.docker.com/linux/centos/ 选择对应 centos 版本的 /x86_64/stable 下载 docker-ce docker-ce-cli containerd.io docker-compose-plugin 4个rpm包 ```shell mkdir docker-engine # 将下载好的rpm包 拷贝到 docker-engine 文件夹 mv containerd.io-1.6.4-3.1.el9.x86_64.rpm docker-ce-20.10.16-3.el9.x86_64.rpm docker-ce-cli-20.10.16-3.el9.x86_64.rpm docker-compose-plugin-2.5.0-3.el9.x86_64.rpm docker-engine sudo yum install docker-engine/*.rpm sudo systemctl start docker ``` #### 2. 编译 docker 镜像 #### 如果你对 dockerfile 的概念还不太了解 可以参考一下官方文档 https://docs.docker.com/develop/develop-images/dockerfile_best-practices/ #### 1. 编写自己的dockerfile ```Dockerfile # 选择基础镜像 ubuntu20.04 centos7 等等都可以作为你的基础镜像 可去dockerhub获取 FROM 172.16.20.20:30002/library/miniconda3-cuda11-rootless:202110181611 # 添加自己的conda env yaml ADD ./environment.yaml ./ # 执行创建conda 虚拟环境指令 RUN conda env create -f ./environment.yaml # 额外依赖 RUN conda install --name=sunfengxx -c esri inplace-abn # 默认进入虚拟环境 RUN echo "conda activate sunfengxx" >> ~/.bashrc ``` #### 2. 编译镜像 ```shell mkdir myimage # 进入到 myimage文件夹 将依赖拷贝到文件夹 mv dockerfile environment.yaml myimage # 编译myimage 1.0版本镜像 docker build -t 172.16.20.20:30002/library/myimage:v1.0 . # 推送镜像 推送到本地镜像仓库 172.16.20.20:30002 docker push 172.16.20.20:30002/library/myimage:v1.0 ``` #### 3. 使用自己编译的镜像 可以参考官方文档 https://docs.docker.com/engine/reference/commandline/run/ ```shell # 交互式运行 docker run -it 172.16.20.20:30002/library/myimage:v1.0 # 后台运行 docker run -d 172.16.20.20:30002/library/myimage:v1.0 ``` #### 4. 将自己编译的镜像 保存下来 保存为.tar文件 可用于 前端导入 ```shell docker save -o myimage.tar 172.16.20.20:30002/library/myimage:v1.0 ```