3.Dockerfile

dockerfile的命令都是大写的,比如:FROM、RUN等
一条指令构建一层, 创建一个新的容器

3.1.FROM基础镜像

必须是第一条指令

FROM nginx服务镜像
FROM ubuntu 基础的操作系统镜像

Scratch空白镜像
FROM scratch 不以任何镜像为基础

3.2.COPY复制文件到容器中

COPY ./test test
容器中当前路径是/
等价于COPY ./test /test

3.3.RUN执行命令

新建立一层,在其上执行这些命令,执行结束后, commit 这一层的修改,构成新的镜像。
Shell格式
RUN echo ‘

Hello, Docker!

’ > /usr/share/nginx/html/index.html #注释
Shell命令后面可以加注释, 必须空格隔开

Exec格式
RUN [“可执行文件”, “参数1”, “参数2”]

2层镜像, 增加了构建部署的时间
FROM nginx
RUN #注释
RUN echo ‘

Hello, Docker!

’ > /usr/share/nginx/html/index.html #行尾注释

简化成1层镜像
FROM nginx
RUN #注释
RUN echo ‘

Hello, Docker!

’ > /usr/share/nginx/html/index.html #行尾注释

3.4.Demo1:格式

构建镜像, 制定镜像名称, 后面方便删除
sudo docker build -t ng:v3 .

查看镜像

启动容器, --name指定容器名称, 方便使用和删除

光标在左下角闪烁

新开窗口
查看容器

进入容器

Ctrl+c关闭容器

删除容器

删除镜像

3.5.Demo2:java项目

Dockerdemo项目
Idea中maven-Package打包后,
Windows用java -jar user.jar启动成功

Linux上 git拉取代码
Pom.xml路径下, 编辑Dockerfile文件
FROM openjdk:8
COPY ./target/user.jar app.jar
ENTRYPOINT [“java”,"-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar","–spring.profiles.active=dev"]
-Djava.security.egd=file:/dev/./urandom解决tomcat随机数的问题, 但是我不加的话也是成功的.

Docker build -t user .

docker run --name us2 -d -p 9003:9001 user
用9003端口访问服务了
在这里插入图片描述

user ok

docker run --name us3 -d -p 9002:9001 user
启动两个容器, 就是应用集群了

用nginx负载均衡

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值