Dockerfile初体验

mac2025-02-12  15

Dockerfile构建nginx

创建一个文件夹 mkdir -p /nginx 进入创建的目录 cd /nginx 创建并编辑 添加下面两行 vim Dockerfile 行1,去本地找基础的镜像 FROM nginx 行2,把<h1>I'm index.html...</h1>写到 /usr/share/nginx/html/index.html文件中 RUN echo "<h1>I'm index.html...</h1>" > /usr/share/nginx/html/index.html 构建镜像 nginx代表镜像名称 taopanfeng相当于版本号 .代表当前目录 docker build -t nginx:taopanfeng . 运行容器 docker run --name nginx_01 -p 91:80 -d nginx:taopanfeng Windows访问 192.168.1.3:91 就可以显示我们往index.html中写入的内容了

Dockerfile构建springboot项目

部署 mkdir -p /app/test cd /app/test 1,spring快速创建项目 2,添加web启动器 3,在application.properties中添加server.port=8101 4,在Controller创建一个方法 GetMapping("hello")返回 I'm hello... 5,直接maven clear package 6,把target中的jar包传到 /app/test vim Dockerfile ### # 基于java:8 这个镜像 FROM java:8 # 将本地文件夹挂载到容器的/tmp VOLUME /tmp # 把这个jar添加到容器的根目录 并改名为 app.jar ADD demo-0.0.1-SNAPSHOT.jar /app.jar # 向外暴露8101 也就是Docker容器的端口为8101 EXPOSE 8101 # 配置容器启动后执行 java -jar /app.jar ENTRYPOINT ["java","-jar","/app.jar"] ### 创建镜像 test镜像名 0.0.1版本号 .代表当前目录 docker build -t test:0.0.1 . 执行容器端口8101 Linux端口8102 容器名称 test01 docker run --name test01 -p 8102:8101 -d test:0.0.1 这里test01就是我们刚才启动的名称,显示出信息IPAddress对应就是容器ip docker inspect test01 Linux---访问 返回I'm hello... 这里表示Linux访问容器的ip和端口 因为那个jar是在容器中执行的 curl 172.17.0.4:8101/hello Windows---浏览器访问 返回I'm hello... 这里表示Windows访问Linux的ip和端口 因为Windows不能访问容器 需要通过Linux的ip加上docker run中的-p代理的端口访问 192.168.1.3:8102/hello
最新回复(0)