1、基础镜像的选择
查询地址:hub.docker.com/
如后台进程:jdk8 搜索结果如下:
选择适合程序运行的基础镜像。
选择的方式:主要从这几个方面进行考虑:
镜像的大小,镜像的下载量,镜像的功能,如果(wget,curl)这些基础的包,最好都包括。
2、编写dockerfile 文件
按照 eco-plat-file 平台的文件服务为例
# 指定源于一个基础镜像
FROM pivotalservices/jdk8-minimal
# 指定镜像作者
MAINTAINER luhui@dameng.com
# 同步时区
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 创建目录
RUN mkdir -p /eco-plat-file
# 临时文件的临时目录框架需要
RUN mkdir -p /data/upload_tmp
# 临时文件的临时目录(应用需要)
RUN mkdir -p /opt/upload
# 指定工作目录
WORKDIR /eco-plat-file
# 暴露端口
EXPOSE 11000
# 拷贝jar包,到容器
ADD ./eco-plat-file-biz/target/eco-plat-file-biz-1.0.2.jar ./
# 下载调试包,到容器
RUN curl -O https://arthas.aliyun.com/arthas-boot.jar
# 睡眠5s,启动服务
CMD sleep 5;java -Xms1024m -Xmx2048m -jar eco-plat-file-biz-1.0.2.jar
3、构建镜像
docker build -f Dockerfile ./ -t eco-plat-file
执行过程如下:
查看镜像
4、根据镜像启动容器
# !/bin/bash
# 停止系统服务
docker stop eco-plat-file
# 删除系统服务
docker rm eco-plat-file
# 删除系统镜像
docker rmi eco-plat-file
# 进入构建目录
cd /home/jenkins/workspace/eco-plat-file
# 编译镜像
docker build -f Dockerfile ./ -t eco-plat-file
# 启动容器
docker run --name eco-plat-file -d -p 11000:11000
-v /etc/hosts:/etc/hosts -v /data/upload_tmp:/data/upload_tmp
-v /opt/upload:/opt/upload --hostname eco-plat-file eco-plat-file
执行过程如下:
查看容器 docker ps
查看容器的启动日志
docker logs -f eco-plat-file