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> 进入到容器中查看启动的信息
相关文章推荐
- Docker学习文档之二 搭建环境-Linux环境
- Docker下kafka学习,三部曲之二:本地环境搭建
- Docker下的Kafka学习之二:搭建集群环境
- Docker学习文档之一 安装软件-Windows环境
- Docker下的Kafka学习之二:搭建集群环境
- Cocos2d-x学习之windows 7 android环境搭建
- Cocos2d-x学习之windows 7 android环境搭建
- Objective C 学习心得 (一):--Windows下搭建objective C开发环境
- Cocos2d-x学习之windows 7 android环境搭建
- Windows_NDK环境搭建学习
- Android学习第一篇——Windows下Android环境搭建
- 【Android开发学习00】Windows下Android开发环境搭建
- Android学习第一课:Windows下搭建Eclipse+Android4.0开发环境
- cocos2d-x学习之旅(二):1.2 cocos2d-x Visual Studio2010 开发环境搭建 windows 7 32位
- GTK+学习:概述 、搭建环境(Windows,Linux)、开发 收藏
- GTK+学习:概述 、搭建环境(Windows,Linux)、开发
- CentOS 6 for colinux的网络配置――《Windows下搭建CentOS 6开发环境之二》