docker安装配置

docker

安装

将清华源放入apt目录

1
2
curl -sS https://download.docker.com/linux/debian/gpg | gpg --dearmor > /usr/share/keyrings/docker-ce.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-ce.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu $(lsb_release -sc) stable" > /etc/apt/sources.list.d/docker.list

安装docker ce和docker compose

1
apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin

查看是否安装成功

1
docker version

配置镜像源

国内的都屏蔽了,但是俄罗斯好兄弟的可以用QWQ

1
2
3
4
5
6
7
8
9
10
11
12
13
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://huecker.io",
"https://dockerhub.timeweb.cloud",
"https://noohub.ru"
]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

镜像导入/导出

可能你在服务器上不可以直接重启docker服务,那么你可以在本地下载镜像,然后导出为tar包,上传到服务器后,再导入

从容器导入/导出

查看容器

1
docker ps -a

导出为镜像

1
docker export 容器ID > image.tar

导入镜像

1
docker import 容器名 < image.tar

查看是否导入成功

1
docker images

从镜像导入/导出

查看镜像

1
docker images

导出镜像

1
docker save 镜像ID > image.tar

或者一次性导出多个镜像

1
docker save -o images.tar 镜像1 镜像2 ...

导入镜像

1
docker load < image.tar

镜像操作

查看镜像

1
docker images

下载镜像

1
docker pull 镜像名:tag

由镜像运行一个容器

1
2
3
4
5
6
7
8
9
10
docker run [option] command [args]
# -i 交互式shell
# -t 启用tty
# -d detach,后台运行docker容器
# -u 指定用户
# -p 用户密码
# -v /path/to/host:/path/to/docker:authority 映射主机目录到docker容器目录
# --workdir string 指定工作目录
# -p 10290:22指定映射的端口
# --privileged 是否有特权

删除镜像

1
docker rmi 镜像名:tag

重命名镜像

1
docker tag IMAGEID REPOSITORY:TAG

容器操作

查看所有容器

1
docker ps

进入一个已存在的容器

1
docker exec

启动/停止容器

1
docker start/stop 容器名

删除容器

1
docker rm 容器名

vscode远程连接

首先docker要进行端口映射,然后安装ssh服务

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
//将宿主机的端口映射到容器中
docker run -itd -p 10290:22

//安装ssh
apt-get install openssh-server
apt-get install openssh-client
apt-get install ssh


//开放ssh端口
vim /etc/ssh/sshd_config
Port 22

//开启服务
/etc/init.d/ssh restart

//服务自启动,每次登录start 容器自动打开ssh
# 找到并打开文件/root/.bashrc
$ vim /root/.bashrc
# 在.bashrc末尾添加如下代码
$ service ssh start


//在vscode中直接远程连接服务器中打开的docker容器,这样就可以直接在容器的环境中使用vscode插件了,例如clangd
//注意给登录用户创建家目录,用于保存vscode缓存
ssh -p 10290 镜像中的用户名@服务器地址


docker安装配置
https://yill-z.github.io/2025/01/01/docker/
作者
Yill Zhang
发布于
2025年1月1日
许可协议