使用Docker镜像和仓库
為什么80%的碼農(nóng)都做不了架構(gòu)師?>>> ??
Docker鏡像
- 由文件系統(tǒng)疊加而成
- 最底端第一層是引導(dǎo)文件系統(tǒng)bootfs,類(lèi)似grub
- 鏡像第二層是root文件系統(tǒng)rootfs
列出鏡像
huangyi@HP ~ % sudo docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE ubuntu latest cdd474520b8c 2 days ago 188 MB刪除鏡像
sudo docker rmi ubuntu
鏡像與容器關(guān)系
一對(duì)多
鏡像 ——> 程序
容器 ——> 進(jìn)程
倉(cāng)庫(kù)
查看ubuntu倉(cāng)庫(kù)中其他鏡像
HP docker # sudo docker pull ubuntu Pulling repository ubuntu c6a3582257ff: Pulling image (vivid-20150528) from ubuntu, endpoint: https://registry-1.docker.io/v1/ 5ba9dab47459: Pulling image (14.04.1) from ubuntu, endpoint: https://registry-1.docker.io/v1/commit 構(gòu)建新鏡像
創(chuàng)建一個(gè)要進(jìn)行修改的定制容器
sudo docker run -i -t ubuntu /bin/bash
在容器中安裝vim
root@93a46591d393:/# sudo apt-get install vim Reading package lists... Done提交
HP huangyi # sudo docker commit 93a46591d393 ubuntu/myvim 3806f1faa5f007ccc756c96490d23c75fb8ede77775c3cd2b310617038157876查看本機(jī)現(xiàn)在的Repo,可以看見(jiàn)多了一個(gè)ubuntu/myvim
HP huangyi # sudo docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE ubuntu/myvim latest 3806f1faa5f0 2 minutes ago 231.4 MB ubuntu latest cdd474520b8c 3 days ago 188 MB##基于 Dockerfile 構(gòu)建新鏡像
HP Docker # tree . └── static_web└── DockerfileDockerfile文件
# Version: 0.01 FROM ubuntu MAINTAINER name "ituzhi@163.com" RUN apt-get update RUN apt-get install -y nginx RUN echo 'Hi, I am in your container' \> /usr/share/nginx/html/index.html EXPOSE 80構(gòu)建鏡像
sudo docker build -t="name/static_web" .
參看Repo,可以看見(jiàn)多了一個(gè)name/static_web
huangyi@HP ~ $ sudo docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE name/static_web latest 1f8ee6fd2bd6 5 minutes ago 227.7 MB ubuntu/myvim latest 3806f1faa5f0 29 minutes ago 231.4 MB ubuntu latest cdd474520b8c 3 days ago 188 MB上述每一條RUN語(yǔ)句都會(huì)生成新鏡像,更新鏡像ID,刪除舊的鏡像。
查看最終鏡像
huangyi@HP ~ $ sudo docker run -t -i 1f8ee6fd2bd6 /bin/bash root@778aa645f23f:/# cat /usr/share/nginx/html/index.html Hi, I am in your containe可見(jiàn)鏡像構(gòu)建成功。
也可以啟動(dòng)容器中的Nginx。
sudo docker run -i -t -p 80 titus/static_web nginx -g "daemon off";-p選項(xiàng)將宿主機(jī)的49153端口綁定到容器的80端口,在宿主機(jī)中
HP static_web # curl 192.168.1.154:49153 Hi, I am in your container##鏡像推送到 Docker Hub 登陸 Docker Hub
sudo docker login
推送
docker push name/web
需要特別注意的是構(gòu)建時(shí)的username一定是Docker Hub中的用戶名,
sudo docker build -t="name/static_web" .
##參考
http://stackoverflow.com/questions/25388684/pushing-docker-image-to-dockerhub
轉(zhuǎn)載于:https://my.oschina.net/lvyi/blog/515775
總結(jié)
以上是生活随笔為你收集整理的使用Docker镜像和仓库的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Android Studio快捷键(MA
- 下一篇: CSS 实例