出发点
本篇文章主要以记录笔者学习Docker的笔记,以指令为主。
前置文章: CSDN
构建镜像
笔者以Tomcat为基础镜像,向webapps文件夹里加入一个最基本的html文件.
[root@localhost docker-webapp]# tree
.
├── Dockerfile
└── webapp
└── app.html
app.html内容非常简单
<h1> This is the main page </h1>
接下来是最关键的Dockerfile,它决定了我们即将创建的镜像的基础镜像,工作目录,需要添加的文件,以及在各个阶段执行的指令。
# 基础镜像
FROM tomcat:latest
# 作者
MAINTAINER aoyi.com
# 工作目录 高级版的的cd
WORKDIR /usr/local/tomcat
# 在构建之前进入tomcat目录
RUN ["ls", "-l", "/usr/local/tomcat"]
# 由于我的tomcat webapps文件夹初始化时不存在,我需要将webapps.dist文件夹的内容拷贝到webapps下
RUN ["cp","-a","/usr/local/tomcat/webapps.dist/.","/usr/local/tomcat/webapps"]
# 更换目录
WORKDIR /usr/local/tomcat/webapps
# 将我们本地的webapp文件夹拷贝到tomcat的webapp目录下
ADD webapp ./webapp
运行镜像
接下来,让我们构建镜像,并执行它
# 确保docker服务启动
service docker start
# 确保我们在Dockerfile的统计目录,构建版本0.4的镜像
docker build -t aoyi.com/mywebapp:0.4 .
# 查看我们构建的镜像
docker images
# 运行这个镜像,并将8000端口映射到tomcat的8080端口
docker run -d -p 8000:8080 aoyi.com/mywebapp:0.4
# 查看当前运行的docker 容器
docker ps
# 进入到容器内
docker exec -it de719ac4e41c /bin/bash
# 停止容器
docker stop de719ac4e41c
# 删除容器
docker rm -f de719ac4e41c
在浏览器中访问 http://192.168.56.200:8000/webapp/app.html
这里假设你运行docker的虚拟机ip时192.168.56.200