docker容器化部署服务

94 阅读1分钟

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