以启动一个eureka服务为例
系统环境:Centos7
1.创建一个路径用于上传存储项目文件夹
mkdir /home/sinog2c/docker
2.进入到这个文件夹下
cd /home/sinog2c/docker
3.把需要启动的文件放到此文件夹下
4.创建一个Dockerfile文件
touch Dockerfile
5.编辑Dockerfile文件
vim Dockerfile
或者把这个文件拉到本地编辑后上传,使用文件传输工具。
6.Dockerfile中编辑的内容
----------------------------------------------------------------------------------------------------------------------
FROM java:8
VOLUME /tmp
ADD gk-eureka-0.0.1-SNAPSHOT.jar eureka.jar
RUN bash -c 'touch /eureka.jar'
EXPOSE 8761
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/eureka.jar"]
----------------------------------------------------------------------------------------------------------------------
说明:
FROM java:8 表示从java8环境启动
ADD gk-eureka-0.0.1-SNAPSHOT.jar eureka.jar 表示添加一个容器,重命名为eureka,第一个文件名要和上传的程序包名一致。
RUN bash -c 'touch /eureka.jar' 执行命令创建上一步生成的文件
EXPOSE 8761 暴露端口8761
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/eureka.jar"] 容器在启动的时候需要执行的命令
7.构建镜像
docker build -t eureka:1.0
说明:docker build -t 镜像名:tag
8.查看镜像是否构建
docker images
9.使用镜像启动容器
docker run -d -p 8761:8761 --name eureka eureka:1.0
10.暴露防火墙8761端口
firewall-cmd --zone=public --add-port=8761/tcp --permanent
firewall-cmd --reload
11.测试访问