使用dockerfile构建docker镜像例子:
1、最简单的依靠dockerfile构建docker镜像的例子:
(1)、准备一个文件,命名为Dockerfile:
FROM nginx
RUN echo '<h1>最简单例子,依靠Dockerfile 构建docker镜像</h1>' > /usr/share/nginx/html/index.html
(2)、构建镜像命令,(.)表示当前路径:
docker build -t nginx:li .
(3)、启动一个docker容器:
docker run -d -p 92:80 nginx:li
2、将springboot项目构建成docker镜像:
(1)、将springboot项目打包成jar包。
(2)、在jar包所在目录,新建Dockerfile文件: touch Dockerfile
(3)、编辑Dockerfile文件内容:
#基于哪个镜像
FROM java:8
#将本地文件夹挂载到当前容器
VOLUME /tmp
#复制文件到容器,也可以直接写成 ADD microservice-discovery-eureka-0.0.1-SNAPSHOT.jar /app.jar
ADD microservice-discovery-eureka-0.0.1-SNAPSHOT.jar app.jar
RUN bash -c 'touch /app.jar'
#声明需要暴露的端口
EXPOSE 8761
#配置容器启动后执行的命令
ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
(4)、构建镜像,(.)表示当前目录:
docker build -t itmuch/microservice-discovery-eureka:0.0.1 .
(5)、启动镜像: docker run -d -p 8761:8761 itmuch/microservice-discovery-eureka:0.0.1
(6)、将镜像推送到 Docker Hub : docker push itmuch/microservice-discovery-eureka:0.0.1
(7)、搭建私有镜像仓库: docker run -d -p 5000:5000 --restart=always --name registry2 registry:2
(8)、修改镜像标签:docker tag itmuch/microservice-discovery-eureka:0.0.1 localhost:5000/itmuch/microservice-discovery-eureka:0.0.1
(9)、将镜像推送到私有仓库: docker push localhost:5000/itmuch/microservice-discovery-eureka:0.0.1