Docker学习文档之二 搭建环境-Windows环境

来源:互联网 发布:网店淘宝拍拍 编辑:程序博客网 时间:2024/05/22 06:42

创建镜像和在docker中搭建JavaWeb运行环境

  • 在docker中创建镜像有两种方法:

    1. 通过进入容器修改基础镜像之后,使用docker commit <基础镜像ID> <镜像name:标签> 来提交一个新的镜像
    2. 使用Dockerfile文件创建镜像

    这里主要说明第二种,并通过该方式来在docker中搭建JavaWeb运行环境来创建一个包含tomcat的可以运行web项目的镜像

在创建镜像之前,先说下怎样将windows本机的磁盘挂载到docker帮我们创建的虚拟主机linux上。因为这个后面需要将部署的web项目放到挂在的文件夹下,然后再通过linux虚拟主机运行镜像时再将该web项目挂载到docker容器中

默认情况下共享的windows文件夹是C盘下的Users,由于我不想占用系统盘的空间,所以可以自己设置一个挂在目录。

  • 设置共享文件夹步骤:

    • 打开桌面上的virtual box

    2

    • 会看到docker默认帮我们创建的linux虚拟主机,实际上,docker就是运行在这个虚拟主机上

    2

    • 在D盘下创建Dockershare文件夹,该文件夹就是后面用来部署web应用用的

    • 点击上图的共享文件夹

    • 点右上的添加

    2

    2

    • 指定文件夹路径,填写名称,点选固定分配

    2

    • 添加完之后,打开虚拟机终端,执行 mkdir /mnt/dockershare 创建文件夹,然后再执行 mount -t vboxsf Dockershare /mnt/dockershare/ 完成共享文件夹的设置

    • 这时候,windows中D盘下的Dockershare就挂载到虚拟机下的/mnt/dockershare文件夹

  • 创建含有javaweb运行环境的镜像

    1. 在桌面或任意位置创建一个docker的文件夹,在该文件夹里创建一个名为Dockerfile的纯文件,用UE打开后,添加如下内容

      FROM ubuntu:14.04MAINTAINER mayijun <ma_yijun2016@163.com>ENV REFRESHED_AT 2015-7-28RUN apt-get -yqq updateRUN apt-get -yqq install tomcat7 default-jdkENV CATALINA_HOME /usr/share/tomcat7ENV CATALINA_BASE /var/lib/tomcat7ENV CATALINA_PID  /var/run/tomcat7.pidENV CATALINA_SH   /usr/share/tomcat7/bin/catalina.shENV CATALINA_TMPDIR /tmp/tomcat7-tomcat7-tmpRUN mkdir -p $CATALINA_TMPDIREXPOSE 8080ENTRYPOINT ["/usr/share/tomcat7/bin/catalina.sh", "run" ]

      Dockerfile说明:

      • FROM表示基于哪个镜像,这里是ubuntu:14.04
      • MAINTAINER表示镜像的创建者
      • ENV用于设置环境变量
      • RUN表示容器中运行的命令
      • EXPOSE表示将容器内的端口暴露出去
      • ENTRYPOINT运行的命令,这里是让容器在启动的时候就启动tomcat
    2. 打开我们的Docker Quickstart Terminal命令窗口,cd到Dockerfile所在的目录下,键入

      docker build -t myj/app:3.0 . 

      命令说明:

      • docker build 表示创建镜像
      • -t标志表示指定镜像的名称和标签
      • 在命令的最后还有一个”.”,表示当前目录下的Dockerfile的路径,也可以直接替换Dockerfile的路径

      执行完后可以看到执行的过程

      3

    3. 是用docker images可以找到我们新创建的镜像

      3

    4. 测试,输入命令

      docker run -d -p 8080:8080 myj/app:3.0

    3

    可以看到执行后返回了一个字符串,该字符串就是运行的容器ID,输入

        docker ps

    可以看到正在运行的容器

    3

    命令说明:

    • docker run 表示运行镜像
    • -d 表示以后台运行的方式运行容器
    • -p 表示将容器暴露出来的端口进行映射,左边是映射的端口,右边是容器里暴露出来的端口

      运行完之后,在浏览器键入 宿主主机ip:8080 就可以看到容器里的tomcat运行起来了

    3

    • 有了javaweb的运行环境,我们就可以将打包的应用部署到tomcat里了

      这里我们需要借助之前设置的共享文件夹实现应用的部署

      • 将打包的应用放到共享文件夹Dockershare下

      • 输入命令

        docker run -d -p 8080:8080 -v /mnt/dockershare/:/var/lib/tomcat7/webapps/ myj/app:3.0

        命令说明:

        • -v 表示在运行时,将宿主机的/mnt/dockershare/文件夹挂载到容器里的/var/lib/tomcat7/webapps下,而宿主机已经和windows D盘下的Dockershare文件夹共享了,所以,将需要部署的应用打包放到Dockershare文件夹即可

这样,在执行命令之后,应用就部署到容器的tomcat中了,等部署完毕就可以在浏览器上输入 宿主机IP:8080/应用名 来访问了。如果不知道宿主机IP可以用一下命令来获取

        docker-machine ip your-vm-name
  • 可以通过命令 docker logs -f <容器ID> 进入到容器中查看启动的信息
0 0