Docker入门学习四之自己制作Docker镜像
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镜像相关推荐
- Kubernetes学习笔记三:Docker安装,Docker使用,编写Dockerfile,制作容器镜像,上传docker镜像
文章目录 Docker的安装 Docker的使用:docker run命令 查看本地存在的镜像:docker images命令 编写Dockerfile,制作容器镜像 docker build制作镜像 ...
- Docker入门学习笔记
文章目录 Docker入门学习 Docker为什么出现? 一.Docker的历史 二.Docker做什么 三.Docker 安装 Docker的基本组成 安装Docker 阿里云镜像加速 运行流程 底 ...
- Docker入门学习教程
Docker入门学习 文章目录 Docker入门学习 1.简介 2 基本概念 2.1 镜像(Image) 2.2 容器(Container) 2.3 仓库(Repository) 3.Windows ...
- docker 镜像修改的配置文件自动还原_原创 | 全网最实在的docker入门教程四
作者:潘吉祥 上一篇我们学习了如何使用Dockerfile制作自己的镜像,不过这种方式更像纯粹的运维方式,作为开发者来说,未免有些小繁琐,一个不小心写错些命令就执行失败,我们还不知道错误在哪,这着实有 ...
- docker registry push 覆盖_原创 | 全网最实在的docker入门教程四
原创头条号:码农code之路,作者:潘吉祥,转载请标明出处 上一篇我们学习了如何使用Dockerfile制作自己的镜像,不过这种方式更像纯粹的运维方式,作为开发者来说,未免有些小繁琐,一个不小心写错些 ...
- Docker入门学习笔记(狂神版)
下述笔记是自己花一天时间看B站狂神说Docker视频的笔记,下列的笔记是根据自己的实践的记录下来的,若想细学掌握Docker建议自行观看(<Docker入门到精通>),去观看狂胜的视频记得 ...
- Docker 入门学习
koya1 Docker 概述 Docker 为什么出现 Docker VS 传统虚拟机 Docker 的基本组成 Docker 安装(centos下安装) Docker 底层原理 Docker 常用 ...
- Docker入门知识|基本命令|数据卷|dockerfile|发布镜像|基本概念
文章目录 Docker 一.概述 二.安装 基本安装 阿里云镜像加速 三.基本 1.镜像启动流程 2.工作原理 3.帮助命令 4.镜像命令 5.容器命令 6.其它常用命令 7.Portainer可视化 ...
- 【入门学习四】基于 FPGA 使用 Verilog 实现串口回传通信代码及原理讲解
目录 一.相关知识 二.模块设计 三.代码设计 3.1 串口接收模块 3.2 控制模块 3.3 串口发送模块 四.FIFO 核引用 五.管脚定义及结果展示 上一篇博文:[入门学习三]基于 FPGA 使 ...
- Docker 入门到实践(三)Docker 安装
注意:不要在没有配置 Docker APT 源的情况下直接使用 apt 命令安装 Docker. 一.准备工作 系统要求 Docker CE 支持一下版本的 Ubuntu 操作系统 Cosmic 18 ...
最新文章
- Jupyter Notebook——设置远程服务器登陆
- gRPC源码分析2-Server的建立
- Spring Boot缓存注解@Cacheable、@CacheEvict、@CachePut使用
- C语言 for 循环 - C语言零基础入门教程
- 19 岁就在南大读博的“00 后”女生:这是我的学习经历...
- java实现网络连接_Java 网络编程 | 菜鸟教程
- Drools(2):Drools快速入门
- 裁判文书数据docid解密,提供api接口,直接使用
- 数学之美(Beauty Of Mathematics)
- pdf加密文件怎么解密?
- 一个dsp最小系统至少要有_DSP最小系统
- MathType完美兼容Word 2019 最详细的安装配置教程转载
- Shell替换数组元素之间的间隔符号
- 关于ext4文件系统概述
- IDEA使用MyBatis【超级详细,绝对能运行】
- c语言程序的基本单位是什么呢?
- ffalcon电视html接口,达人给评测下:液晶电视FFALCON75S535C怎么样呢?评价如何?个人感受揭秘...
- 网页设计与制作(HTML+CSS)(二)
- 云客Drupal源码分析之菜单上下文连接Menu contextual links
- 十天征服单片机百度云_单片机百度盘资料