前言:
使用容器可以更快地构建和部署新应用程序。Docker容器将软件及其依赖关系整合到一个标准化的软件开发单元中,包括运行所需的一切:代码,运行时,系统工具和库。这可以保证您的应用程序始终运行相同,并使协作变得像共享容器映像一样简单。
本次项目运行在centos 7。
一、安装docker(略)。
二、拉取基础镜像java.
(1).docker search java
(2)、docker pull java
拉取镜像
(3)、 docker images
查看是否拉取成功
三、编写dockerfiel
#基础镜像
FROM java
#基础信息
MAINTAINER ly "1@qq.com"
# run 运行指定的命令
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
RUN mkdir -p /data/project/logs
RUN apt-get update
ADD apache-tomcat-8.5.37.tar.gz /data/project
#项目基础目录(容器)
WORKDIR /data/project
#移动文件
RUN mv apache-tomcat-8.5.37 mytomcat
# 定义变量
ENV CATALINA_HOME /data/project/mytomcat
# 卷
VOLUME ${CATALINA_HOME}/logs
VOLUME ${CATALINA_HOME}/webapps
VOLUME /home/lyaipt/project/fileUpload
#暴露端口
EXPOSE 8080
# 容器启动后执行的命令
CMD ["/data/project/mytomcat/bin/catalina.sh", "run"]
注:以上命令涉及到宿主机的目录或者文件是相对dockerfile文件相对路径。
apache-tomcat-8.5.37.tar.gz 与dockerfile目录相同
四:建立镜像
docker build -t mytomcat /home/zj/docker
注:mytomcat: 镜像名称
/home/zj/docker :dockerfile所在位置
五:启动容器
(1)、在dockerfile所在目录下复制解压后的tomcat,并更名为mytomcat1.
(2)、以单文件启动
docker run -d -p 192.168.114.134:8081:8080/tcp -v /home/zj/docker/mytomat1/webapps/java.war:/data/project/mytomcat/webapps/java.war --name mytomcat1 mytomcat
以挂载点启动
docker run -d -p 192.168.114.134:8081:8080/tcp -v /home/zj/docker/mytomcat2/webapps:/data/project/mytomcat/webapps --name mytomcat2 mytomcat
注:挂载点必须在dockerfile中声名。
六:进入容器
docker ps 查询正在运行的容器
docker exec -it 容器id /bin/bash 进入容器
中间由于自己的环境问题,遇到各种各样的问题,百度或者@me.