配置docker

download docker

docker下载

配置docker hub mirror

有时候可能因为网络波动导致拉取docker失败,可以尝试把镜像源换成国内的。

打开docker右上角的设置图标,然后选择docker Engine,将下面代码复制到框里:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"experimental": false,
"features": {
"buildkit": true
},
"registry-mirrors": [
//这里放国内镜像源
]
}

这里有些暂时可以用的源,不过建议去网上查找最新的:

1
2
3
4
5
6
"https://hub.uuuadc.top",
"https://docker.anyhub.us.kg",
"https://dockerhub.jobcher.com",
"https://dockerhub.icu",
"https://docker.ckyl.me",
"https://docker.awsl9527.cn"

拉取镜像源

右键鼠标打开powershell,输入docker检测docker是否安装成功。

然后就可以通过pull指令来拉取docker仓库的镜像源了。

举例我这里要拉去编译原理学习的镜像:

1
docker pull maxxing/compiler-dev

如果出现unexpected EOF,大概率是网络波动,多试几次就好了。

docker的基本用法

这里只介绍怎么创建容器,启动容器,删除容器。

例如:

1
docker run maxxing/compiler-dev ls -l /

用这条指令执行了下面步骤:

1、使用compiler-dev这个镜像创建一个临时的容器

2、启动这个临时容器

3、在容器里执行ls -l /

4、关闭容器

关闭了容器但是并不会删除它,使用下面指令可以查看所有容器:

1
docker ps -a

使用下面命令删除容器:

1
docker rm 容器编号

上述操作可以一步到位,从创建执行到删除:

1
docker run --rm maxxing/compiler-dev ls -l /

另一种用法:

1
docker run -it --rm maxxing/compiler-dev bash

这条命令会使用 compiler-dev 创建容器, 并在其中执行 bash——这是许多 Linux 发行版的默认 Shell, 也就是大

家启动终端后看到的命令行界面. 为了能在 Shell 中操作, 我们使用了 -it 参数, 这个参数会开启容器的 stdin

便我们输入 (-i), 同时 Docker 会为容器分配一个终端 (-t)

执行完这条命令之后, 你会发现你进入了容器的 Shell, 你可以在其中执行任何命令:

1
root@38bd65234ad2:~#

如需退出, 你可以执行 exit, 或者按下 Ctrl + D. 因为我们添加了 --rm 选项, Docker 会在退出后删除刚刚的容

器, 所以在这种情况下请一定不要在容器里保存重要的内容

关于docker访问宿主机中文件的操作:

在许多情况下, 我们需要让 Docker 容器访问宿主系统中的文件. 比如你的编译器存放在宿主机的

/home/max/compiler 目录下, 你希望 Docker 容器也能访问到这个目录里的内容, 这样你就可以使用容器中的

测试脚本测试你的编译器了. 你可以执行:

1
docker run -it --rm -v /home/max/compiler:/root/compiler maxxing/compiler-dev bash

这条命令和之前的命令相比多了一个 -v /home/max/compiler:/root/compiler 选项, 这个选项代表: 我希望把

宿主机的 /home/max/compiler 目录, 挂载 (mount) 到容器的 /root/compiler 目录. 这样, 在进入容器之后, 我

们就可以通过访问 /root/compiler 来访问宿主机的 /home/max/compiler 目录了

docker官方文档