且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

使用dockerfile构建docker镜像

更新时间:2022-03-17 04:35:07

使用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