一斥季、什么是倉庫
倉庫就是集中存放鏡像的地方欺嗤,分為公共倉庫和私有倉庫参萄,一個(gè)容易混淆的概念是注冊服務(wù)器,實(shí)際上注冊服務(wù)器是存放倉庫的具體服務(wù)器煎饼,一個(gè)注冊服務(wù)器可以有多個(gè)倉庫拧揽,而每個(gè)倉庫下面有多個(gè)鏡像。
二腺占、使用Docker官方公共倉庫
官方倉庫地址:DockerHub
DockerHub
2.1 登錄倉庫
使用docker login 命令來登錄官方的公共倉庫淤袜,沒有用戶名密碼的可以去官方注冊一個(gè)
docker login
root@iZwz9f4eh9lmah6qiq41zvZ:~# docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: alanchenyan
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
root@iZwz9f4eh9lmah6qiq41zvZ:~#
2.2 下載鏡像
使用docker pull 命令下載鏡像
docker pull nginx
root@iZwz9f4eh9lmah6qiq41zvZ:~# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
Digest: sha256:20d5b519920fbc0009e2560418b291c69b69155a524db88525368bce6b712465
Status: Image is up to date for nginx:latest
docker.io/library/nginx:latest
root@iZwz9f4eh9lmah6qiq41zvZ:~#
2.3 推送鏡像
使用docker push 命令推送鏡像
docker push alanchenyan/nginx:v1.0
三、國內(nèi)第三方公共倉庫
使用國內(nèi)的倉庫就是為了能提高下載的速度:阿里云的加速器衰伯、DaoCloud的加速器等铡羡。
阿里云的加速器
四、搭建自己的本地倉庫
這個(gè)私有倉庫才是重點(diǎn)意鲸,在我們的企業(yè)中很多都會(huì)是自己去定制自己的鏡像文件烦周,有一些還必須不能對外開放的,也是能夠?yàn)榱颂岣咴趦?nèi)網(wǎng)的下載速度怎顾,這樣我們就要搭建自己的私有倉庫了读慎。
安裝docker后,可以通過官方提供的registry鏡像來簡單的搭建一套本地的私有倉庫
4.1 安裝步驟
1槐雾、搜索鏡像
docker search registry
2夭委、拉取鏡像
docker pull registry
3、創(chuàng)建容器
#創(chuàng)建存放鏡像的目錄
mkdir -p /opt/data/docker/
#創(chuàng)建容器 -p指定端口 -v數(shù)據(jù)卷掛載
docker run -it -d -p 5000:5000 -v /opt/data/docker:/tmp/registry registry
ECS安全組需要開放5000
端口
4.2 配置私有倉庫地址
vi /etc/docker/deamon.json
配置內(nèi)容
{
“insecure-registries”:[“120.24.95.76:5000”]
}
配置內(nèi)容
4.3 重啟
1募强、重啟配置
sudo systemctl daemon-reload
2株灸、重啟Docker
sudo systemctl restart docker
3、查看倉庫容器狀態(tài)
docker ps -a
倉庫容器當(dāng)前為退出狀態(tài)
root@iZwz96ew7wfkgebgbq9crbZ:/usr/share/maven/conf# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
22db63715a88 registry "/entrypoint.sh /etc…" 4 minutes ago Up 4 minutes 0.0.0.0:5000->5000/tcp, :::5000->5000/tcp thirsty_euclid
root@iZwz96ew7wfkgebgbq9crbZ:/usr/share/maven/conf#
4擎值、啟動(dòng)本地倉庫容器
docker start 22db63715a88
啟動(dòng)
root@iZwz96ew7wfkgebgbq9crbZ:/usr/share/maven/conf# docker start 22db63715a88
22db63715a88
root@iZwz96ew7wfkgebgbq9crbZ:/usr/share/maven/conf#
4.4 訪問Docker私有倉庫
在瀏覽器中訪問http://120.24.95.76:5000/v2/_catalog
訪問結(jié)果