配置docker和拉取镜像源
配置docker
download docker
docker下载
配置docker hub mirror
有时候可能因为网络波动导致拉取docker失败,可以尝试把镜像源换成国内的。
打开docker右上角的设置图标,然后选择docker Engine,将下面代码复制到框里:
1 | { |
这里有些暂时可以用的源,不过建议去网上查找最新的:
1 | "https://hub.uuuadc.top", |
拉取镜像源
右键鼠标打开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
目录了