docker系列备忘(2) docker创建自己的镜像以及jav

2017-01-10  本文已影响0人  blueyangdi

上一篇文章写了docker的安装,以及一些命令,这一节,我们看下如何创建自己的镜像,以及安装一套java Web的运行环境。(这一次在windows环境下进行,docker已经提供了windows的版本。)

1获取一个用来制作我们镜像的基础镜像

windows版本的docker与linux的完全一致,所有的命令也都一样,首先,我们先获取基础镜像,这里用centos镜像作为基础镜像。

docker pull centos

获取到centos镜像后,我们进入到镜像

PS C:\Users\Di> docker run -i -t -v /e/docker/:/mnt/soft/ 67591570dd29 /bin/bash

参数介绍:
-i:表示以“交互模式”运行容器
-t:表示容器启动后会进入其命令行
-v:表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录>
67591570dd29 是镜像id也可以用镜像名称。/bin/bash 表示进入到镜像后要运行命令行。

进入到镜像后如下:

图片.png

这时,就可以在镜像中进行操作了。

1.把linux版本的jdk,tomcat都放到刚刚宿主机的挂载目录下

如我刚刚的目录是e盘下的docker目录。

图片.png

2.现在进入到docker刚刚挂载的目录/mnt/soft/

[root@a67e130865d6 soft]# cd /mnt/soft

可以查看到此目录下在宿主机的目录下刚刚放的文件

图片.png

3.在镜像中创建一个目录。

[root@a67e130865d6 soft]# mkdir /app

4.将挂载目录下的tomcat文件和jdk文件cp到刚刚建好的目录下

[root@a67e130865d6 soft]# cp -R * /app

5.进入到刚刚创建的目录下,解压tomcat和jdk压缩包

解压缩安装文件,获取到tomcat和jdk的压缩包。

6.安装tomcat

jdk解压缩就可以用,不需要配置,tomcat需要配置一下启动脚本,将jdk环境变量添加到tomcat的启动脚本中,当然,也可以设置全局变量,将JAVA_HOME设置为全局变量, 就不需要修改tomcat的启动脚本了。

[root@a67e130865d6 app]# cd apache-tomcat-6.0.44/bin
[root@a67e130865d6 bin]# vi catalina.sh

添加环境变量到catalina.sh文件中

JAVA_HOME=/app/jdk1.6.0_31
JRE_HOME=/app/jdk1.6.0_31/jre

保存退出。

7.设置tomcat启动脚本

在/app/目录下,新建run.sh
文件内容如下:

#!/bin/bash
sh /app/apache-tomcat-6.0.44/bin/catalina.sh run

退出编辑,给此执行文件授权

[root@a67e130865d6 app]# chmod a+x run.sh

8.退出容器。使用exit命令。

此时在宿主机下,运行如下命令,查看运行的镜像

PS C:\Users\Di> docker ps -a
图片.png

9.创建自己的docker镜像

这里有两种方式,一种是通过commit命令的方式,另一种是通过dockerfile build方式。今天只列举commit命令的方式

PS C:\Users\Di> docker commit a67e130865d6 didi/javaweb:0.1

其中a67e130865d6 是镜像中容器的id。 后面的didi/javaweb是镜像名称,0.1是tag标签。
执行完成后,有必要检查一下自己的镜像是否创建成功。

图片.png

发现已经有了。

10.启动自己的docker容器。

docker run -d -p 8011:8088 --name didiweb 83fd80f18540 /app/run.sh

-d表示静默运行。
-p表示宿主机和容器的端口映射,此处示例是把宿主机的8011端口映射到docker容器的8088端口。
--name就是一个别名,随便起就可以
83fd80f18540 是镜像id
/app/run.sh是刚刚我们创建的运行脚本。

启动完成,打开浏览器验证一下吧。
http://127.0.0.1:8011
下一篇我们讲一下用dockerfile的方式发布自己的镜像。

上一篇下一篇

猜你喜欢

热点阅读