1.创建dockerfile文件
FROM ubuntu
#这串数字是我已经创建好一个ubuntu镜像的镜像id,在这里作为tomcat的基础镜像
MAINTAINER facereg
ENV REFRESHED_AT 2021-07-08
#这个环境变量用来表名该镜像模板的最后更新时间)
#切换镜像目录,进入/usr目录
WORKDIR /usr
#在/usr/下创建jdk目录,用来存放jdk文件
RUN mkdir jdk
#在/usr/下创建tomcat目录,用来存放tomcat
RUN mkdir tomcat
WORKDIR /usr/local
RUN mkdir arcsoft_lib
#将宿主机的jdk目录下的文件拷至镜像的/usr/jdk目录下
ADD jdk1.8.0_201 /usr/jdk/
#将宿主机的tomcat目录下的文件拷至镜像的/usr/tomcat目录下
ADD apache-tomcat-8.5.34 /usr/tomcat/
ADD arcsoft_lib /usr/local/arcsoft_lib
ADD ArcFace64.dat /usr/local/
#设置环境变量
ENV JAVA_HOME=/usr/jdk
ENV JRE_HOME=$JAVA_HOME/jre
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
ENV PATH=/sbin:$JAVA_HOME/bin:$PATH
#公开端口
EXPOSE 9999
#设置启动命令
ENTRYPOINT ["/usr/tomcat/bin/catalina.sh","run"]
2.创建镜像,首先进入dockerfile相应文件夹,命令:docker build -t ffait/facereg .(点不能少)
3.创建容器。 命令: docker run -it -d --name facereg -p 8888:9999 ffait/facereg
说明:docker run -it -d --name [container-name] -p 8888:9999 [image-name]
这里是将容器内的9999端口映射到宿主机的8888端口
参数说明
-d 表示后台运行容器
-t 为docker分配一个伪终端并绑定到容器的标准输入上
-i 是让容器的标准输入保持打开状态
-p 指定映射端口
4.导出为镜像。命令:docker save -o facereg.tar ffait/facereg
5.导入生成的image,命令:docker load --input facereg.tar
6.运行效果
7.docker 启动自动启动容器。编写docker-compose.yum
version: '3'
services:
facereg:
restart: always
image: ffait/facereg
container_name: facereg
ports:
- 8888:8888
environment:
TZ: Asia/Shanghai
- 进入到文件目录下 运行命令docker-compose up -d