Docker学习
编辑
72
2024-11-19
Docker Ubuntu安装
安装的文档点击连接查看。
- 卸载旧版本Docker
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
2 设置Docker apt仓库
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
- 安装Docker
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
- 设置用户组
#创建docker组
sudo groupadd docker
#增加docker组
sudo usermod -aG docker $USER
#测试
docker version
[慎用]Docker Desktop Ubuntu下安装[截至2024-12-21]
此方法目前无法桥接CUDA,需要用到的勿用此方法
尝试进行安装Docker Desktop :
sudo apt install gnome-terminal
下载Docker Desktop安装包
wget https://desktop.docker.com/linux/main/amd64/docker-desktop-amd64.deb
设置docker的apt仓库:
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$UBUNTU_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
并在对应位置进行安装:
sudo apt-get update
sudo apt-get install ./docker-desktop-amd64.deb
可以忽略类似如下错误信息:
N: 由于文件'/home/***/install/docker/docker-desktop-amd64.deb'无法被用户'_apt'访问,已脱离沙盒并提权为根用户来进行下载。 - pkgAcquire::Run (13: 权限不够)
登陆:
gpg --generate-key
随后会产生public key
GnuPG needs to construct a user ID to identify your key.
Real name: Molly
Email address: molly@example.com
You selected this USER-ID:
"Molly <molly@example.com>"
Change (N)ame, (E)mail, or (O)kay/(Q)uit? O
pubrsa3072 2022-03-31 [SC] [expires: 2024-03-30]
<generated gpg-id public key>
uid Molly <molly@example.com>
subrsa3072 2022-03-31 [E] [expires: 2024-03-30]
将上文得到的key使用pass
进行初始化:
pass init <your_generated_gpg-id_public_key>
若卡登陆一般是开了小猫咪的缘故,可以按照此连接进行设置如下进行设置。
Docker探究笔记
Docker光速入门
1. image 文件
列出所有image文件&删除image文件
# 列出所有docker文件
docker image ls
# 删除 image 文件
docker image rm [imageName]
2. Docker抓取
Pull cuda环境:
docker pull nvidia/cuda:12.1.0-cudnn8-devel-ubi8
运行这个image
docker container run nvidia/cuda:12.1.0-cudnn8-devel-ubi8
但是运行此容器会直接停止运行,如果需要终端交互可以输入如下:
docker container run -it nvidia/cuda:12.1.0-cudnn8-devel-ubi8 bash
3. 容器文件
查看正在运行的容器文件和列出所有容器文件:
# 列出本机正在运行的容器
docker container ls
#列出本机所有容器,包括终止运行的容器
docker container ls --all
4. 启动停止容器
- 启停容器
前面的docker container run命令是新建容器,每运行一次,就会新建一个容器。同样的命令运行两次,就会生成两个一模一样的容器文件。如果希望重复使用容器,就要使用docker container start命令,它用来启动已经生成、已经停止运行的容器文件。
docker container start [containerID]
对于停止容器:
docker container stop [containerID]
- 查看容器Shell输出日志
docker container logs [containerID]
- 进入一个正在运行的docker容器
docker container exec -it [containerID] /bin/bash
5. 本机和容器中的数据交互
- 从正在运行的Docker容器中拷贝数据到本机
docker container cp [containID]:[/path/to/file] .
- 挂载本地目录
# 将宿主主机的/data1目录挂载到容器的/data2目录
docker run -it -v /data1:/data2 centos /bin/bash
-v
参数中,冒号":"前面的目录是宿主主机目录,后面的目录是容器内目录
- 0
- 0
-
分享