设为首页 收藏本站
查看: 1184|回复: 0

[经验分享] docker补充之commit镜像制作

[复制链接]

尚未签到

发表于 2019-2-20 11:46:12 | 显示全部楼层 |阅读模式
  备注:在上一篇博文当中,修改命令,已经省略掉了sudo。所以,直接输入docker,就可以查看docker相关的命令和所需要的参数。
  另外,后缀添加--help也是可以的。
  方法一:镜像以Redis为例,pull镜像
  1) 拉取redis镜像,并查看当前系统存在的所有镜像。
  docker   pull redis
  docker   images

  2) 创建守护式容器,并命名为myredis.通过ps -a查看容器
  docker run -d  --name=myredis redis

  3) 以指定格式查看容器中应用的ip地址。
  docker inspect  --format='{{.NetworkSettings.IPAddress}}'  myredis


  4)使用本地redis-cli客户端链接指定的redis服务器:
  redis-cli  -h 172.17.0.2  -p 6379

  5) 倘若没有redis-cli客户端,请参考前面redis部分。
  方法二:docker  run创建容器。使用docker commit  -m  “”,提交修改后的docker容器。
  1)拉取已有镜像ubuntu14.04。

  2)启动并进入容器。
  docker images  查看镜像,记住ubuntu的image  id

  docker  run  -i  -t  指定的IMAGE  ID

  3)添加、删除或者修改ubuntu容器。
  例如添加nginx服务器,如果出现以下问题,很有可能是ubuntu14.04的镜像源尚未更新,依赖包出现问题

  可以通过sudo  apt-get  update更新源和sudo apt-get  upgrade升级依赖包


  由于默认时区的关系,可能需要执行dpkg-reconfigure  tzdata  来修改所在时区,选择Asiza,选择shanghai

  好了,现在可以通过apt-get获取你所需要的软件了,如nginx。

  输入nginx  -v查看版本号,说明成功安装。

  4)接下来,就是将容器转换成镜像。
  输入exit退出容器:

  而查看容器的结果如下docker ps -a

  查看images的结果如下docker  images


  最后保存刚刚修改的内容信息:docker commit -m  “说明信息” -a  "用户信息"  容器ID     用户名/仓库: TAG信息

  其中,-m来指定提交的说明信息,跟我们使用的版本控制工具一样;-a可以指定更新的用户信息;之5c9ee44a971c后是用来创建镜像的容器的ID;最后指定目标镜像的仓库名和tag信息。创建成功后会返回这个镜像的ID信息。
  再次使用docker images命令就会发现此时多出了一个我们刚刚创建的镜像:

  当然如果有兴趣的话,可以将刚保存的镜像上传到dockerhub(需要**翻**墙)上,也可以搭建自己的仓库,也可以上传到其他仓库。
  接下来再写一个案例熟悉一下,搭建JAVA的开发环境。
  1)拉取centos镜像,并查看image。
  docker pull  centos
  docker images

  可以看到此时出现了centos的image镜像。
  2)根据上述镜像,创建容器,并命名为mycentos。
  docker run  -i  -t   --name=mycentos  centos

  可以看到在创建完容器之后,已经进入到容器当中并且显示为命令行。
  3)此时,我不小心关闭了命令窗口,name就需要重新进入docker容器当中。可以使用如下的命令:
  docker ps -a 查看存在哪些container;
  docker attach   容器名称或者CONTAINER ID就可以重新进入容器;

  可以使用exit命令退出容器。
  4)在容器当中安装JDK.
  安装JDK没有什么可以讲,直接yum命令安装也行,拉取源码安装也行。不过记得一定得配置环境变量,使用yum命令的时候,貌似已经帮你配置了。使用命令如下:
  yum install java-1.7.0-openjdk

  好吧,还是查看下环境变量,发现什么鬼都没有。

  然而,然而,连vim编辑器都没有。
  yum  install  vim安装下就好了

  安装完vim后,添加环境变量。


  修改如下内容,只要能找到bin目录下的java就好了。

  最好执行一下。

  校验是否配置正确,并查看版本信息。


  5) 在容器当中安装tomcat。

  下载对应版本到本地。

  上传后cp到docker container中,并解压,移动tomcat到指定目录下,


  exit退出容器。

  提交容器为镜像,docker commit mycentos  mytomcat8

  停止mycentos容器

  运行新的容器mytomcat8,指定端口号8888映射到8080.

  进入容器,运行tomcat

  此时就可以访问到tomcat的主页了---------注意:此时访问页面的ip地址和端口号,为映射的,并非容器自身的端口号和IP.


  既然配置完,就全部删除了吧。
  >

  






运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-674865-1-1.html 上篇帖子: docker私有仓库的搭建和使用。 下篇帖子: QCon技术干货:个推基于Docker和Kubernetes的微服务实践
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表