美文网首页
docker系列备忘(2) docker创建自己的镜像以及jav

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

作者: blueyangdi | 来源:发表于2017-01-10 18:16 被阅读0次

    上一篇文章写了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的方式发布自己的镜像。

    相关文章

      网友评论

          本文标题:docker系列备忘(2) docker创建自己的镜像以及jav

          本文链接:https://www.haomeiwen.com/subject/atwkbttx.html