Docker 构建镜像的方法主要两种
1.docker commit
2.docker build命令+dockerfile 文件 (比较灵活,常用)
以下为构建dockerfile 常用的指令
指令 说明
-----------------------------------------------------------------------------
FROM 设置镜像使用的基础镜像
MAINTAINER 设置镜像的作者
RUN 编译镜像时,运行的脚本
CMD 设置容器的启动命令
LABEL 设置镜像的标签
EXPOSE 设置镜像的暴露端口
ENV 设置容器的环境变量
ADD 编译镜像时,复制文件到镜像中
COPY 编译镜像时,复制文件到镜像中
ENTRYPOINT 设置容器的入口程序
VOLUME 设置容器的挂载卷
USER 设置容器RUN,CMD和ENTRYPOINT的用户名
WORKDIR 设置RUN,CMD,ENTRYPOINT,COPY和ADD指令的工作目录
ARG 设置编译镜像时候加入的参数
ONBUILD 设置镜像ONBUILD指令
STOPSIGNAL 设置容器退出的信号量
----------------------------------------------------------------------------
下面开始安装tomcat8 + jdk8
#yum 安装docker
sudo yum install -y docker
#启动docker 服务
sudo serice docker start
#设置docker开机自启动
systemctl enable docker
1.下载centos镜像,以这个系统为基石,开始创作
docker pull centos
2.下载jdk,tomcat安装包,上传至 /usr/local/soft,并且解压
jdk1.8 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
tomcat8 https://tomcat.apache.org/download-80.cgi
//或者 使用wget安装,如果没有安装wget 则用 yum install -y wget 安装一哈
wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz"
wget http://mirrors.shu.edu.cn/apache/tomcat/tomcat-8/v8.5.38/bin/apache-tomcat-8.5.38.tar.gz
mkdir /usr/local/soft
cd /user/local/soft
解压tomcat
tar -zxvf apache-tomcat-8.5.38.tar.gz
解压jdk
tar -zxvf jdk-8u141-linux-x64.tar.gz
删除安装包
rm -rf apache-tomcat-8.5.38.tar.gz
rm -rf jdk-8u141-linux-x64.tar.gz
3.创建Dockerfile文件
touch Dockerfile
创建完成之后,目录如下
=========================================
/usr/local/soft
+apache-tomcat-8.5.38
+jdk1.8.0_141
+Dockerfile
=========================================
4.编辑dockerfile文件
--------------------------------------------------------------------------------------
#指定操作镜像
FROM centos
#维护者信息
#MAINTAINER shiva's gurad
#设定时区
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone
#执行命令:创建容器内部目录
RUN mkdir -p /usr/local/soft
#将jdk1.8.0_141添加到镜像centos的/usr/local/soft/目录下,并命名为jdk
ADD jdk1.8.0_141 /usr/local/soft/jdk
#将apache-tomcat-8.5.38添加到镜像centos的/usr/local/soft/目录下,并命名为tomcat
ADD apache-tomcat-8.5.38 /usr/local/soft/tomcat
#添加环境变量
ENV JAVA_HOME /usr/local/soft/jdk
ENV CATALINA_HOME /usr/local/soft/tomcat
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin
#暴露8080端口
EXPOSE 8080
#启动时运行tomcat
CMD ["/usr/local/soft/tomcat/bin/catalina.sh","run"]
-----------------------------------------------------------------------------
5.构建Dockerfile镜像
docker build -t repostory/centos_tomcat8_jdk8 .
(这里的点,代表使用当前工作目录的Dockerfile 也就是 /usr/local/soft 底下的Dockerfile)
6.启动镜像,生成容器
docker run -d -p 8080:8080 --name tomcat repostory/centos_tomcat8_jdk8
-d 后台运行
-p 端口映射 宿主机port : 容器port
--name 指定容器运行名称
网友评论