docker--發佈docker鏡像

前戲

前面咱們本身作了個docker鏡像,咱們能夠上傳到docker hub,別人就能夠下載使用了linux

發佈到docker hub

咱們前面使用docker search 查找的鏡像都是從docker hub進行查找的,這裏管理着最全的docker鏡像,咱們也能夠上傳咱們的鏡像docker

docker hub官網:https://hub.docker.com/json

1.先登陸docker hubflask

[root@HH tmp]# 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: zouzou0214
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

2.更改鏡像名稱(tag是帳戶名)vim

注意要保證image的tag是帳戶名,若是鏡像名字不對,須要改一下tagapi

docker tag zz/my-docker-flask zouzou0214/my-docker-flask安全

語法是: docker tag 倉庫名 帳戶名/倉庫名服務器

docker tag zouzu0214/my-docker-flask:latest zouzou0214/my-docker-flask

3.推送到本身的docker hub上測試

[root@HH tmp]# docker push zouzou0214/my-docker-flask
The push refers to repository [docker.io/zouzou0214/my-docker-flask]
ed6d87727896: Pushed 
d715287dbe47: Pushed 
75cf052a90dc: Pushed 
a7ced2beb634: Pushed 
3d55a1be5031: Pushed 
b1febd32aebe: Pushed 
877b494a9f30: Pushed 
latest: digest: sha256:70e7f41a767c333bb36dedadedee9655f64de8580a693f0a511925d8ce9eead6 size: 1784

4.登陸https://hub.docker.com/查看本身推送的公網鏡像this

 

# 1.註冊docker id後,在linux中登陸dockerhub
docker login

注意要保證image的tag是帳戶名,若是鏡像名字不對,須要改一下tag docker tag docker-flask zouzou0214/my-docker-flask
語法是:  docker tag   倉庫名   用戶名/倉庫名


# 2.推送docker image到dockerhub
docker push yuchao163/centps-cmd-exec:latest
# 3.在dockerhub中檢查鏡像 https://hub.docker.com/
# 4.刪除本地鏡像,測試下載pull 鏡像文件 docker pull zouzou0214/my-docker-flask

 發佈到私有倉庫

發佈到docker hub上其餘人也是能夠下載,並不安全,所以還可使用docker registry官方提供的私有倉庫。

構建公司私有docker倉庫,其實就是搭建一個api服務器,經過api能夠下載鏡像

# 1.下載docker官方提供的私有倉庫鏡像
    docker pull  registry
# 2.查看鏡像 docker images
# 3.啓動一個私有倉庫容器 docker run -d \ -p 5000:5000 \ -v /opt/data/registry:/var/lib/registry \ registry
# 4.此時能夠檢查容器進程 docker ps
# 5.此時私有倉庫就打開了5000端口,經過端口映射,訪問宿主機的5000端口,查看是否通訊 yum install telnet -y telnet 127.0.0.1 5000 #檢測5000端口是否通訊 # 6.修改本地鏡像的tag標籤,標註我要往哪push鏡像 docker tag docker.io/hello-world 192.168.12.96:5000/s14-hello # 7.修改docker配置,容許非安全的傳輸方式 1.vim /etc/docker/daemon.json,寫入信息,私有倉庫地址,都得改爲本身的 {"registry-mirrors": ["http://95822026.m.daocloud.io"], "insecure-registries":["192.168.12.96:5000"] } 2.修改docker.server vim /lib/systemd/system/docker.service #寫入以下信息,請在[service]中寫入 [Service] EnvironmentFile=/etc/docker/daemon.json # 8.重啓docker服務,使得生效 systemctl daemon-reload #從新加載docker配置文件 systemctl restart docker #重啓docker服務 # 9. #重啓docker服務,會中止容器,所以要再次啓動 docker ps -a docker start b23bcfe42e80 #啓動這個私有倉庫容器 # 10.推送本地鏡像到 私有倉庫 192.168.12.96:5000 docker push 192.168.12.96:5000/s14-hello # 11.此時訪問api接口,查看私有倉庫的數據 http://192.168.12.96:5000/v2/_catalog

-v 參數 掛載宿主機的文件:容器內的文件夾  

docker run -p 8000:8080 -v /opt/zou:/opt/data/ -d 43d 啓動容器,經過-v參數掛載 掛載容器內的/opt/data/文件夾,其實訪問的是宿主機的/opt/zou/

相關文章
相關標籤/搜索