天天看點

docker--從倉庫下載下傳鏡像到推送自己的項目到倉庫步驟詳解

       怎樣從倉庫下載下傳的鏡像,變成容器,并在容器中制作項目,再将容器變成鏡像,然後将鏡像推送到倉庫?

docker--從倉庫下載下傳鏡像到推送自己的項目到倉庫步驟詳解

一:從官網下載下傳鏡像

       官方的

https://hub.docker.com/

提供了數十萬個鏡像提供大家下載下傳

       以拉取個人公有centos7.3鏡像為例:

  

docker--從倉庫下載下傳鏡像到推送自己的項目到倉庫步驟詳解

  拉取方式為

# docker pull 使用者/倉庫:标簽


》docker pull kennyyaohong/public:centos7.3
      

 二:進行項目

1.啟動容器

# -it 以互動模式啟動一個容器
#--name  命名容器
#-d  背景運作容器,并傳回容器ID
#docker run  -it  --name    定義容器名        -d 鏡像名:标簽      
》docker run -it  --name container_centos7.3 -d kennyyaohong/public:centos7.3       
》docker ps      

CONTAINER ID           IMAGE                                        NAMES                      COMMAND     CREATED           STATUS           PORTS     

4bd480b4ac28    kennyyaohong/public:centos7.3    container_centos7.3          "/bin/bash"  4 seconds ago     Up 3 seconds 

2.進入容器

#exec :在運作的容器中執行指令
#-d :分離模式: 在背景運作
#-i :即使沒有附加也保持STDIN 打開
#-t :配置設定一個僞終端

》docker exec -ti container_centos7.3 /bin/bash
[root@d3dfc0a17d1a /]#       

3.進行項目

進入docker進行要開展的項目

[root@4bd480b4ac28 /]# mkdir project
[root@4bd480b4ac28 /]# cd project/
[root@4bd480b4ac28 project]# ls
[root@4bd480b4ac28 project]# vi test.sh
[root@4bd480b4ac28 project]# sh test.sh 
hello      

三:将容器變成鏡像

#-a :送出的鏡像作者;

#-c :使用Dockerfile指令來建立鏡像;

#-m :送出時的說明文字;

#-p :在commit時,将容器暫停。

#     docker    commit    -m  “送出說明文字”    -a        “作者”                        要送出的容器名                 送出後的鏡像名:送出後的鏡像tag名         

》docker commit -m "my_project" -a "kennyyaohong" container_centos7.3  myproject_centos7.3:centos7.3
sha256:e12a9ec48ab76d4114e4d80293eb994bafb5d49e974143766d08ab9f74a2d193

#容器變為鏡像後的

host-172-17-17-115:~ # docker images;
REPOSITORY                               TAG                 IMAGE ID            CREATED             SIZE
myproject_centos7.3                      centos7.3           e12a9ec48ab7        2 seconds ago       258MB
      

四:将鏡像推入倉庫

 1.重新定義标簽

#docker  tag  鏡像id       要推入倉庫的使用者名/要推入的倉庫名:新定義的tag 
》docker tag e12a9ec48ab7 kennyyaohong/public:myproject_centos7.3      
#docker push      要推入倉庫的使用者名/要推入的倉庫名:鏡像标簽      
》docker push kennyyaohong/public:myproject_centos7.3
The push refers to a repository [docker.io/kennyyaohong/public]
193b0484e158: Layer already exists 
34e7b85d83e4: Layer already exists 
myproject_centos7.3: digest: sha256:5ffa998f3fc91e965d3b2e65ceefbc30a0bce49359058fba39e9386206a84bdc size: 948
      
docker--從倉庫下載下傳鏡像到推送自己的項目到倉庫步驟詳解
下一篇: Python--sys