2019独角兽企业重金招聘Python工程师标准>>>

一、制作自己的镜像

      1.前提

  • Dockerfile : 用来告诉Docker,我要怎么制作我的镜像,我要制作镜像的每一个操作是什么
  • docker build : 该命令用来执行Dockerfile中所描述的每一件事情,最终将docker镜像给我们构建出来。
  • 还需要一个java web项目 可以用Jpress(即WordPress的java实现):http://jpress.io

2.制作步骤

(1)下载Jpress https://github.com/JpressProjects/jpress 注意,是下载alpha分支的最新的war包

(2)因为是java web项目,所以需要用到tomcat,我们首先从网易镜像中心下载tomcat的镜像:

C:\WINDOWS\system32>docker pull hub.c.163.com/library/tomcat:latest
latest: Pulling from library/tomcat
9af7279b9dbd: Pull complete
31816c948f2f: Pull complete
c59a1cdf83d3: Pull complete
232c7a75d568: Pull complete
de412d312979: Pull complete
80315ba34693: Pull complete
5d3f97bd90e8: Pull complete
dc8dc63f6baa: Pull complete
f6c6e2d67f03: Pull complete
9123b340aa92: Pull complete
76abaea2279d: Pull complete
4476602e3346: Pull complete
12e1fda011bd: Pull complete
Digest: sha256:db1a8ca2fe44449d265e5505f300be6f34fc63211a5506400a0a8c24653af91f
Status: Downloaded newer image for hub.c.163.com/library/tomcat:latestC:\WINDOWS\system32>docker images
REPOSITORY                     TAG                 IMAGE ID            CREATED             SIZE
hello-world                    latest              05a3bd381fc2        7 weeks ago         1.84kB
hub.c.163.com/library/tomcat   latest              72d2be374029        2 months ago        292MB
hub.c.163.com/library/nginx    latest              46102226f2fd        6 months ago        109MB

(3)创建Dockerfile文件,将jpress.war文件移动到Dockerfile所在目录

vi DockerfileDoclerfile内容from hub.c.163.com/library/tomcat  #基础镜像的名字,以tomcat镜像为起点MAINTAINER aibinxiao aibinxiao@126.com  #镜像所有者信息COPY jpress.war /usr/local/tomcat/webapps  #将web应用放入tomcat服务器中,后面的目录在网易镜像中心的tomcat镜像的详情可以查看

(4)使用docker build -t jpress:latest .命令构建镜像,-t去个名字,jpress就是镜像名字,latest则是版本名称,.表示当前目录;到此镜像就制作好了。

docker build -t jpress:latest .
Sending build context to Docker daemon 20.81 MB
Step 1/3 : FROM hub.c.163.com/library/tomcat---> c822d296d232
Step 2/3 : MAINTAINER aibinxiao aibinxiao@126.com---> Using cache---> 55e82dd26a32
Step 3/3 : COPY jpress.war /usr/local/tomcat/webapps---> Using cache---> 40e062337f9e
Successfully built 40e062337f9e

(5)如何运行呢,我们先做一个端口映射,我们将本机的8888端口与jpress容器的8080端口,即tomcat端口进行映射,成功之后我们就可以访问本地的8888端口,就可以进入到tomcat的主页了。

docker run -d -p 8888:8080 jpress
12fdb93345f253dd72766f6feada0aa7235dbfad2d030ebb8cad2adbc505363e

然后,我们访问localhost:8888/jpress,就能进入jpress主页了,如下图:

(5)但是要使用jpress,还需要数据库,我们可以在docker里运行一个mysql

(6)同样是从网易镜像中心搜索mysql,复制mysql镜像的地址,先pull下来

docker pull hub.c.163.com/library/mysql:latest
latest: Pulling from library/mysql
5047279b9dbd: Pull complete
31816c948f2f: Pull complete
c59a1cdf83d3: Pull complete
232c7a75d568: Pull complete
de412d312979: Pull complete
80315ba34693: Pull complete
5d3f97bd90e8: Pull complete
dc8dc63f6baa: Pull complete
f6c6e2d67f03: Pull complete
9123b340aa92: Pull complete
76abaea2279d: Pull complete
4476602e3346: Pull complete
12e1fda011bd: Pull complete
Digest: sha256:84c78ca2fe44449d265e5505f300be6f34fc63211a5506400a0a8c24653af91f
Status: Downloaded newer image for hub.c.163.com/library/msyql:latest

运行mysql

docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=000000 -e MYSQL_DATABASE=jpress hub.c.163.com/library/mysql:latest
9305b93345f253dd72766f6feada0aa7235dbfad2d030ebb8cad2adbc505363enetstat -na|grep 3306 #查看该端口是否启用了

(7)配置数据库,注意数据库名就是启动mysql时配置的jpress,用户名root,密码000000,数据库主机则是本机的ip地址,端口3306

(8)配置网站信息

(9)重启jpress容器,再次在浏览器访问就完成了,如下图:

docker restart 12fdb93345f2

到此就全部结束啦!

本文为原创文章,如果对你有一点点的帮助,别忘了点赞哦!比心!如需转载,请注明出处,谢谢!

转载于:https://my.oschina.net/aibinxiao/blog/1560554

Docker入门学习四之自己制作Docker镜像相关推荐

  1. Kubernetes学习笔记三:Docker安装,Docker使用,编写Dockerfile,制作容器镜像,上传docker镜像

    文章目录 Docker的安装 Docker的使用:docker run命令 查看本地存在的镜像:docker images命令 编写Dockerfile,制作容器镜像 docker build制作镜像 ...

  2. Docker入门学习笔记

    文章目录 Docker入门学习 Docker为什么出现? 一.Docker的历史 二.Docker做什么 三.Docker 安装 Docker的基本组成 安装Docker 阿里云镜像加速 运行流程 底 ...

  3. Docker入门学习教程

    Docker入门学习 文章目录 Docker入门学习 1.简介 2 基本概念 2.1 镜像(Image) 2.2 容器(Container) 2.3 仓库(Repository) 3.Windows ...

  4. docker 镜像修改的配置文件自动还原_原创 | 全网最实在的docker入门教程四

    作者:潘吉祥 上一篇我们学习了如何使用Dockerfile制作自己的镜像,不过这种方式更像纯粹的运维方式,作为开发者来说,未免有些小繁琐,一个不小心写错些命令就执行失败,我们还不知道错误在哪,这着实有 ...

  5. docker registry push 覆盖_原创 | 全网最实在的docker入门教程四

    原创头条号:码农code之路,作者:潘吉祥,转载请标明出处 上一篇我们学习了如何使用Dockerfile制作自己的镜像,不过这种方式更像纯粹的运维方式,作为开发者来说,未免有些小繁琐,一个不小心写错些 ...

  6. Docker入门学习笔记(狂神版)

    下述笔记是自己花一天时间看B站狂神说Docker视频的笔记,下列的笔记是根据自己的实践的记录下来的,若想细学掌握Docker建议自行观看(<Docker入门到精通>),去观看狂胜的视频记得 ...

  7. Docker 入门学习

    koya1 Docker 概述 Docker 为什么出现 Docker VS 传统虚拟机 Docker 的基本组成 Docker 安装(centos下安装) Docker 底层原理 Docker 常用 ...

  8. Docker入门知识|基本命令|数据卷|dockerfile|发布镜像|基本概念

    文章目录 Docker 一.概述 二.安装 基本安装 阿里云镜像加速 三.基本 1.镜像启动流程 2.工作原理 3.帮助命令 4.镜像命令 5.容器命令 6.其它常用命令 7.Portainer可视化 ...

  9. 【入门学习四】基于 FPGA 使用 Verilog 实现串口回传通信代码及原理讲解

    目录 一.相关知识 二.模块设计 三.代码设计 3.1 串口接收模块 3.2 控制模块 3.3 串口发送模块 四.FIFO 核引用 五.管脚定义及结果展示 上一篇博文:[入门学习三]基于 FPGA 使 ...

  10. Docker 入门到实践(三)Docker 安装

    注意:不要在没有配置 Docker APT 源的情况下直接使用 apt 命令安装 Docker. 一.准备工作 系统要求 Docker CE 支持一下版本的 Ubuntu 操作系统 Cosmic 18 ...

最新文章

  1. Jupyter Notebook——设置远程服务器登陆
  2. gRPC源码分析2-Server的建立
  3. Spring Boot缓存注解@Cacheable、@CacheEvict、@CachePut使用
  4. C语言 for 循环 - C语言零基础入门教程
  5. 19 岁就在南大读博的“00 后”女生:这是我的学习经历...
  6. java实现网络连接_Java 网络编程 | 菜鸟教程
  7. Drools(2):Drools快速入门
  8. 裁判文书数据docid解密,提供api接口,直接使用
  9. 数学之美(Beauty Of Mathematics)
  10. pdf加密文件怎么解密?
  11. 一个dsp最小系统至少要有_DSP最小系统
  12. MathType完美兼容Word 2019 最详细的安装配置教程转载
  13. Shell替换数组元素之间的间隔符号
  14. 关于ext4文件系统概述
  15. IDEA使用MyBatis【超级详细,绝对能运行】
  16. c语言程序的基本单位是什么呢?
  17. ffalcon电视html接口,达人给评测下:液晶电视FFALCON75S535C怎么样呢?评价如何?个人感受揭秘...
  18. 网页设计与制作(HTML+CSS)(二)
  19. 云客Drupal源码分析之菜单上下文连接Menu contextual links
  20. 十天征服单片机百度云_单片机百度盘资料

热门文章

  1. hdu 1394 Minimum Inversion Number(树状数组)
  2. 使用Alcatraz来管理Xcode插件
  3. python全局变量被覆盖的问题
  4. [GO]删除切片的某个值
  5. java利用poi导出数据到excel
  6. MySQL数据库优化技术之数据库表的设计
  7. GNU make manual 翻译(五十二)
  8. [转载]使用Vitamio打造自己的Android万能播放器(2)—— 手势控制亮度、音量、缩放...
  9. 入侵感知系列之弱口令检测思路
  10. Python Day 2