四、更换镜像地址
需要更换镜像仓库地址为阿里云的。
1、啥意思
记得maven嘛?maven下载下来一般都会改配置文件,将其远程仓库地址改为阿里云的,docker其实也一样,如果把他比作maven的话,可以理解成从远程仓库(镜像仓库)拉取jar包(镜像文件),但是远程镜像仓库是国外的,所以需要换成国内的。
2、更换步骤
(1)打开网站
(2)搜索“容器镜像服务”
(3)点击“立即开通”
(4)点击“镜像加速器”
(5)执行命令
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
(6)大功告成
上面1-5步骤执行完成后就大功告成了,就可以用docker pull xxx
来测试下了,速度贼拉快。
五、Docker的基本概念
1、容器与镜像
1.1、镜像
镜像是只读的文件,提供了运行程序完整的软硬件资源,是应用程序的“集装箱”。
1.2、容器
容器是镜像的实例,由Docker负责创建,容器之间彼此隔离。
1.3、一句话概况
一个镜像可以创建多个容器,容器之间彼此隔离,互不影响。
2、仓库
2.1、本地仓库
存放了自己docker pull
下来的镜像。
2.2、远程仓库
存放了各种各样的镜像,docker pull
命令就是先去本地仓库检查是否有这个镜像,没有的话就去远程仓库拉取镜像放到本地仓库。镜像都是别人打包好的应用程序,只读。
docker远程仓库地址:https://hub.docker.com/
直接搜索就行,不用注册登录。
2.3、一句话概况
跟maven仓库的含义几乎一样。
3、Docker Daemon
用于管理镜像和容器,客户端发起docker run
的请求会交给docker daemon处理,docker daemon会给这个镜像开辟一个新的容器。再比如客户端发起docker pull
命令也是交给docker daemon,docker daemon去检查本地仓库有没有,本地仓库没有的话docker daemon去远程仓库拉取镜像放到本地仓库。
六、docker原理
1、描述
原理很简单,核心在于docker daemon,客户端所有的请求都会交给daemon处理,比如下图中的三个命令的完整执行流程是这样的:
1.1、docker build
client发送docker build
给docker daemon,docker daemon收到请求后会构建镜像放到本地仓库。
1.2、docker pull
client发送docker pull
命令给docker daemon,docker daemon收到命令后会优先检查本地仓库是否存在此镜像,若不存在则去远程仓库拉取镜像并放到本地仓库,若存在则不走远程仓库。
1.3、docker run
client发送docker run
命令给docker daemon,docker daemon收到命令后会启动一个新的容器,所以一个镜像可以有多个容器,只要我run一次就会产生一个新的容器出来。
2、图解