目录
💟这里是CS大白话专场,让枯燥的学习变得有趣!
💟没有对象不要怕,我们new一个出来,每天对ta说不尽情话!
💟好记性不如烂键盘,自己总结不如收藏别人!
💌一个容器就相当于一个小型的运行系统,里面的镜像就相当于应用程序,将应用程序打包成镜像便于运行在不同的容器中,方便迁移。
🧡安装Docker
🍠配置yum源。
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
🍠安装docker。
sudo yum install -y docker-ce docker-ce-cli containerd.io
🍠启动docker。
systemctl enable docker --now
🍠配置加速,镜像加速可以使用自己的阿里云链接。
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://q2fpzl9s.mirror.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
🍠 将当前用户加到docker组内。
sudo gpasswd -a jodie docker
💌在创建容器之前,建议先参考这篇文章装一下nvidia-container相关:http://t.csdn.cn/i1Hu4。然后在创建容器时添加--gpus all使容器可以使用GPU。(下面的操作是没加GPU的,后来又重新建了一遍哭死了!!)
🍠在3080服务器上装的:
🧡创建anaconda3 镜像
🍠搜索anaconda3镜像。
docker search anaconda
🍠拉取stars最高的anaconda3镜像。
docker pull continuumio/anaconda3
🍠创建名为docker_anaconda的容器运行anaconda3镜像,指定宿主机端口:容器端口映射。
docker run --gpus all --name=docker_anaconda -idt -p 888:888 continuumio/anaconda3
🍠进入容器查看anaconda位置
docker exec -it 18f7e6419969 /bin/bash
whereis anaconda
🍠查看python版本以及安装包
🍠在容器内运行jupyter notebook,将最后一行链接中127.0.0.1:888改为宿主机ip:宿主机映射端口,即可在宿主机浏览器中访问。
jupyter notebook --port 888 --ip 0.0.0.0 --allow-root
🧡环境迁移
🍠在宿主机中迁移conda环境(pytorch)到容器。
docker cp /usr/local/anaconda3/envs/pytorch/ docker_anaconda:/opt/conda/envs
🍠修改pip路径。
apt-get update
apt-get install vim
vim /opt/conda/envs/pytorch/bin/pip
🍠在容器内运行python连网程序。
💌运行成功!之后会尝试将AI模型运行在容器中并进行整体打包上传~~
🧡常用命令
docker images:查看所有镜像。
docker rmi 镜像名/ID:删除镜像。
docker ps:查看所有创建的容器。
docker ps -a:查看正在运行的容器。
docker stop 容器名/ID:停止容器。
docker start 容器名/ID:再次启动容器。
docker rm 容器名/ID:删除停止的容器。
docker rm -f 容器名/ID:强制删除正在运行的容器。
docker exec -it 容器ID /bin/bash:进入容器内部。