1. 程式人生 > >Docker深入淺出系列教程——鏡像管理【外加視頻】

Docker深入淺出系列教程——鏡像管理【外加視頻】

uil 鏡像 alt GC 靜態 roo tag rest user

我是架構師張飛洪,鉆進浩瀚代碼,十年有余,人不堪其累,吾不改其樂。如果你和我的看法不一樣,請關註我的頭條號,我們一起奇聞共賞,疑義相析。

接下來來講解Docker三大組件之一的鏡像,如果說鏡像是靜態的只讀文件,那麽容器就是帶有運行時需要的可寫文件層。也可以這樣理解,鏡像是對象的模板——類,容器是類生成的對象,鏡像只有一個,對象可以有很多個。如果大家覺得看文字不過癮,可以收看我的視頻

技術分享圖片

1.搜索鏡像
docker search ubuntu //搜索鏡像 2.拉取鏡像
docker pull ubuntu:14.04 //NAME[:TAG],如果不加標簽,默認是latest ; 先本地,後倉庫[官方,私人] docker pull hub.c.163.com/pull/ubuntu:14.04 ?配置加速器地址,記得配後重啟
vi /etc/docker/daemon.json { "registry-mirrors": ["https://registry.docker-cn.com"] } #重啟
sudo service docker restart 3.查看鏡像
docker images -a //查看本地的鏡像 4.設置標簽
docker tag f975 jackyfei/ubuntu:dev //給鏡像打標簽 5.啟動容器並進入終端
docker run -itd image id //把鏡像啟動為容器,-i表示讓容器以標準輸入打開,-t表示分配個偽終端,-d表示後臺啟動 6.刪除鏡像

docker rmi ubuntu //後面的參數可以是tag,如果是tag,實際上是刪除該tag。當後面的參數為鏡像ID時,則會徹底刪除整個鏡像,所有標簽也會一同刪除。 7.構建鏡像
vi Dockerfile //包含一組指令,Dockerfile規則 FROM jackyfei/ubuntu:dev
MAINTAINER jackyfei "[email protected]"
RUN /bin/echo ‘root:123456‘ |chpasswd
RUN useradd jackyfei
RUN /bin/echo ‘jackyfei:123456‘ |chpasswd
RUN /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local
EXPOSE 22
EXPOSE 80
CMD /usr/sbin/sshd -D docker build -t jackyfei/ubuntu:dev . //生成鏡像 8.上傳鏡像
docker push NAME[:TAG] | [REGISTRY HOST : EGISTRY_PORT/INAME[:TAG]] //公共倉庫 docker tag test:latest user/test:latest //打標簽 docker push jackyfei/ubuntu:dev //上傳 //私人倉庫 7.1 docker pull registry //registry是docker官方鏡像,用來創建本地的docker私有倉庫 7.2 sudo docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registry //啟動容器,冒號左邊為宿主機端口,右邊為容器端口 7.3 vi /etc/docker/daemon.json //修改配置為:{"insecure-registries":["172.16.0.245:5000"]} 7.4 systemctl restart docker //重啟容器 7.5 docker tag ubuntu:16.04 172.16.0.245:5000/ubuntu //打標簽 7.6 docker push 172.16.0.245:5000/ubuntu //推送到私有倉庫 7.7 curl 172.16.0.245:5000/v2/_catalog //查看推送上來的鏡像 7.8 docker pull 172.16.0.245:5000/ubuntu

如果對Docker有更深的洞察,歡迎補充和討論,感謝您的捧場。我是張飛洪,我為博客園的讀者寫故事。我會給你呈現程序員眼中的世界,請關註我的頭條號,或者加我的QQ群【105365283】一起學習!

技術分享圖片 技術分享圖片

Docker深入淺出系列教程——鏡像管理【外加視頻】