您的位置:首页 > 运维架构 > Docker

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

2017-04-11 17:58 483 查看

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

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

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

使用Dockerfile文件创建镜像

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

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

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

设置共享文件夹步骤:

打开桌面上的virtual box



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



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

点击上图的共享文件夹

点右上的添加





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



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

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

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

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

FROM ubuntu:14.04
MAINTAINER mayijun <ma_yijun2016@163.com>
ENV REFRESHED_AT 2015-7-28

RUN apt-get -yqq update
RUN apt-get -yqq install tomcat7 default-jdk

ENV CATALINA_HOME /usr/share/tomcat7
ENV CATALINA_BASE /var/lib/tomcat7
ENV CATALINA_PID  /var/run/tomcat7.pid
ENV CATALINA_SH   /usr/share/tomcat7/bin/catalina.sh
ENV CATALINA_TMPDIR /tmp/tomcat7-tomcat7-tmp

RUN mkdir -p $CATALINA_TMPDIR

EXPOSE 8080

ENTRYPOINT ["/usr/share/tomcat7/bin/catalina.sh", "run" ]


Dockerfile说明:

FROM表示基于哪个镜像,这里是ubuntu:14.04

MAINTAINER表示镜像的创建者

ENV用于设置环境变量

RUN表示容器中运行的命令

EXPOSE表示将容器内的端口暴露出去

ENTRYPOINT运行的命令,这里是让容器在启动的时候就启动tomcat

打开我们的Docker Quickstart Terminal命令窗口,cd到Dockerfile所在的目录下,键入

docker build -t myj/app:3.0 .


命令说明:

docker build 表示创建镜像

-t标志表示指定镜像的名称和标签

在命令的最后还有一个”.”,表示当前目录下的Dockerfile的路径,也可以直接替换Dockerfile的路径

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



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



测试,输入命令

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




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

docker ps


可以看到正在运行的容器



命令说明:

docker run 表示运行镜像

-d 表示以后台运行的方式运行容器

-p 表示将容器暴露出来的端口进行映射,左边是映射的端口,右边是容器里暴露出来的端口

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



有了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> 进入到容器中查看启动的信息
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: