博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用Docker镜像和仓库
阅读量:6249 次
发布时间:2019-06-22

本文共 2549 字,大约阅读时间需要 8 分钟。

  hot3.png

Docker镜像

  • 由文件系统叠加而成
  • 最底端第一层是引导文件系统bootfs,类似grub
  • 镜像第二层是root文件系统rootfs

列出镜像

huangyi@HP ~ % sudo docker imagesREPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZEubuntu              latest              cdd474520b8c        2 days ago          188 MB

删除镜像

sudo docker rmi ubuntu

镜像与容器关系

一对多

镜像 ——> 程序

容器 ——> 进程

仓库

查看ubuntu仓库中其他镜像

HP docker # sudo docker pull ubuntuPulling repository ubuntuc6a3582257ff: 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 构建新镜像

创建一个要进行修改的定制容器

sudo docker run -i -t ubuntu /bin/bash

在容器中安装vim

root@93a46591d393:/# sudo apt-get install vimReading package lists... Done

提交

HP huangyi # sudo docker commit 93a46591d393 ubuntu/myvim3806f1faa5f007ccc756c96490d23c75fb8ede77775c3cd2b310617038157876

查看本机现在的Repo,可以看见多了一个ubuntu/myvim

HP huangyi # sudo docker imagesREPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZEubuntu/myvim        latest              3806f1faa5f0        2 minutes ago       231.4 MBubuntu              latest              cdd474520b8c        3 days ago          188 MB

##基于 Dockerfile 构建新镜像

HP Docker # tree.└── static_web    └── Dockerfile

Dockerfile文件

# Version: 0.01FROM ubuntuMAINTAINER name "ituzhi@163.com"RUN apt-get updateRUN apt-get install -y nginxRUN echo 'Hi, I am in your container' \        > /usr/share/nginx/html/index.htmlEXPOSE 80

构建镜像

sudo docker build -t="name/static_web" .

参看Repo,可以看见多了一个name/static_web

huangyi@HP ~ $ sudo docker imagesREPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZEname/static_web    latest              1f8ee6fd2bd6        5 minutes ago       227.7 MBubuntu/myvim        latest              3806f1faa5f0        29 minutes ago      231.4 MBubuntu              latest              cdd474520b8c        3 days ago          188 MB

上述每一条RUN语句都会生成新镜像,更新镜像ID,删除旧的镜像。

查看最终镜像

huangyi@HP ~ $ sudo docker run -t -i 1f8ee6fd2bd6 /bin/bashroot@778aa645f23f:/# cat /usr/share/nginx/html/index.htmlHi, I am in your containe

可见镜像构建成功。

也可以启动容器中的Nginx。

sudo docker run -i -t -p 80 titus/static_webnginx -g "daemon off";

-p选项将宿主机的49153端口绑定到容器的80端口,在宿主机中

HP static_web # curl 192.168.1.154:49153Hi, I am in your container

##镜像推送到 Docker Hub 登陆 Docker Hub

sudo docker login

推送

docker push name/web

需要特别注意的是构建时的username一定是Docker Hub中的用户名,

sudo docker build -t="name/static_web" .

##参考

转载于:https://my.oschina.net/lvyi/blog/515775

你可能感兴趣的文章
豆盟递交招股书:单季利润1394万 蓝标为第二大股东
查看>>
申小雨命案审理延期至3月5日 警方将翻译嫌犯口供
查看>>
第五届中欧文化艺术节开幕 谭盾“领衔”献艺
查看>>
财政部:2018年全国财政收入超18万亿元 同比增6.2%
查看>>
C罗失点 尤文图斯3:0切沃延续联赛不败纪录
查看>>
湖北整治清退非法码头 为长江“留白增绿”
查看>>
为什么要把网站升级到HTTPS
查看>>
【Hello CSS】序章-起源
查看>>
转行IT要趁早,多迪教育新就业数据告诉你真相
查看>>
JavaScript深入之参数按值传递
查看>>
Fragment总结
查看>>
Flutter进阶:深入探究 ListView 和 ScrollPhysics
查看>>
深入了解virtual dom
查看>>
spring事物应该注意的地方
查看>>
浅析 Vue 2.6 中的 nextTick 方法
查看>>
一篇文章搞懂闭包。
查看>>
结合实际场景谈一谈微服务配置
查看>>
我的前端面试总结(套路篇)
查看>>
ApacheCN 学习资源汇总 2018.11
查看>>
数字滚动插件numberAnimate.js的使用及效果修改
查看>>