Docker安装
ubuntu中安装
1.安装证书
sudo apt-get update
# 安装证书
sudo apt-get install -y ca-certificates curl gnupg lsb-release
2.建立docker资源库
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
3.安装docker
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
4.验证是否安装成功
sudo docker -v
docker run hello-world
5.增加当前用户进入docker组中
sudo groupadd docker
sudo gpasswd -a $USER docker
newgrp docker
6.验证
docker ps
docker run hello-world
centos中安装
配置yum
yum install -y yum-utils
#设置yum源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#快速更新
yum makecache fast
安装docker
yum install docker-ce docker-ce-cli containerd.io
# 查询版本
docker -v
#启动并加入开机自启
systemctl start docker #启动
systemctl enable docker #自启
# 安装指定版本的docker
yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
# 查看相应版本地址
https://docs.docker.com/engine/release-notes/
卸载docker
#卸载
yum remove docker-ce docker-ce-cli containerd.io
# 删除镜像/容器等
rm -rf /var/lib/docker
rm -rf /var/lib/containerd
配置国内源
#编辑daemon.josn
vim /etc/docker/daemon.json
#配置国内源地址
{
"registry-mirrors" : [
"https://mirror.ccs.tencentyun.com",
"http://registry.docker-cn.com",
"http://docker.mirrors.ustc.edu.cn",
"http://hub-mirror.c.163.com"
],
"insecure-registries" : [
"registry.docker-cn.com",
"docker.mirrors.ustc.edu.cn"
],
"debug" : true,
"experimental" : true
}
vim /etc/docker/daemon.json
{
"default-runtime": "nvidia",
"runtimes": {
"nvidia": {
"path": "nvidia-container-runtime",
"runtimeArgs": []
}
},
"registry-mirrors": [
"https://yp5fg15q.mirror.aliyuncs.com",
"https://docker.mirrors.sjtug.sjtu.edu.cn"
],
"data-root": "/var/lib/docker"
}
#重启docker
systemctl daemon-reload
systemctl restart docker
Docker命令实例
1.启动容器,指定映射端口
docker run -it --name 容器名 -p 6020:5212 -p 6030:8000 镜像ID /bin/bash
2.进入容器
docker exec -it 容器名 bash
3.退出容器但不停止容器
Ctrl + P + Q
4.启动容器时,执行某个shell命令
docker run -it --name 容器名 镜像名 /bin/bash -c "cd /opt/support && nohup support serve -a 0.0.0.0:8000 > run.log 2>&1 & /bin/bash"
5.限制容器启动在某张GPU卡或者某些CPU核心上
docker run --runtime=nvidia --restart=always -it --name 容器名 --cpuset-cpus="49-63" -m 64G -v /sys/fs/cgroup:/sys/fs/cgroup:ro -v /etc/data-motd:/etc/data-motd:ro --gpus '"device=3"' --storage-opt size=350G -p 10000:22 -p 10001:9820 -p 10002:10002 镜像名 /bin/bash -c 'service ssh start && echo "root:123456"|chpasswd && source /root/anaconda3/bin/activate &&/bin/bash /usr/bin/hpcuniversity --token=123456'
docker run --privileged --pid=host --runtime=nvidia --restart=always -td --name mawz_wxhd00 --cpuset-cpus="0-127" -m 2000G -v /sys/fs/cgroup:/sys/fs/cgroup:ro --gpus '"device=0,1,2,3,4,5,6,7"' -v /data:/data -v /data1:/data1 -p 1011:22 -p 400-430:20000-20030 --shm-size 10G mawz_wxhd01:20230822 /bin/bash
docker run --privileged --pid=host --restart=always -td --name mawz_wxhd00 -v /data:/data -p 1011:22 mawz_wxhd01:20230822 /bin/bash
6.打包和解压容器
docker commit 容器id 镜像名称:版本号
docker save -o 压缩文件名称 镜像名称:版本号
docker load -i 压缩文件名称
# 保存iamge
docker save -o file.tar iamgeName
# 导入image
docker load --input file.tar
docker容器中安装ssh服务
apt update
apt install openssh-server
service ssh start
service ssh status
博客:http://zhouj.club/