Docker学习文档之二 搭建环境-Windows环境
来源:互联网 发布:网店淘宝拍拍 编辑:程序博客网 时间:2024/05/22 06:42
创建镜像和在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.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
打开我们的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学习文档之二 搭建环境-Windows环境
- Docker学习文档之二 搭建环境-Linux环境
- Docker下kafka学习,三部曲之二:本地环境搭建
- Docker下的Kafka学习之二:搭建集群环境
- Docker下的Kafka学习之二:搭建集群环境
- Windows Phone开发学习之二——环境搭建
- Docker学习文档之一 安装软件-Windows环境
- TestLink学习二:Windows搭建TestLink环境
- Docker学习笔记之二,基于Dockerfile搭建JAVA Tomcat运行环境
- Docker下dubbo开发,三部曲之二:本地环境搭建
- Docker学习文档之三 其他相关-生产环境
- solr6.0学习之环境搭建-windows
- Junit学习之路二--搭建环境
- windows下python学习环境之ipython环境搭建
- Hadoop学习之二《Hadoop环境伪分布式环境搭建》
- docker 环境搭建 Windows版本 mac版本
- [开源夏令营][二] Docker 环境搭建
- 基于docker搭建测试环境(二)
- sql查询之左连接,右连接,内连接以及全外连接的使用(测试常见面试题欧)
- 第一篇技术博客
- 使用移动平均的图像阈值处理
- 我行我素购物管理系统(面向对象)
- 人工智能-机器学习之梯度学习
- Docker学习文档之二 搭建环境-Windows环境
- Python及Python第三方包安装
- c++11 获取毫秒数
- redis笔记-常用命令篇(采用与《redis入门指南》)
- 以太网帧格式(TCP/IP详解)
- Docker学习文档之二 搭建环境-Linux环境
- dubbo 请求调用过程分析
- SpringBoot学习-第四章 SpringMVC基础-<Spring Boot 实战>
- 描述应用程序开发者为什么可能选择在UDP上运行应用程序而不是在TCP上运行的原因