Dockerfile

Dockerfile

Dockerfile就是一个文本文件,其中包含一个个的指令(Instruction),用指令来说明要执行什么操作来构建镜像。每一个指令都会形成一层Layer。

更新详细语法说明,请参考官网文档: Dockerfile reference | Docker Docs

Dockerfile部署Java项目

首先创建一个目录 例如docker-demo

将我们打包好的Java项目的jar放入其中 例如docker-demo.jar

随后编写一个Dockerfile文件

# 指定基础镜像
FROM java:8-alpine
​
COPY ./docker-demo.jar /tmp/app.jar
​
# 暴露端口
EXPOSE 8090
# 入口,java项目的启动命令
ENTRYPOINT java -jar /tmp/app.jar

构建镜像:

docker build -t javaweb:1.0 .

Dockerfile部署VUE前端

首先安装node

docker pull node:16.20.2

然后运行出一个容器

docker run -itd --name 容器名 -p 8080:8080 node:16.20.2

查看容器状态

docker container ls

进入到容器内部

docker exec -it 容器名 bash

克隆前端项目

git clone 

克隆后就可以下载项目所需要的依赖

npm install
然后运行
npm run serve

将前端打包成一个镜像

创建一个文件夹
mkdir -p /opt/docker-images/hellovue
​
进入到刚才创建的文件夹中 创建一个Dockerfile文件
vi Dockerfile

Dockerfile文件中填以下信息

FROM node:16.20.2
​
RUN git clone 项目链接
​
WORKDIR 克隆项目的名字
​
RUN npm install
​
EXPOSE 8080
​
CMD ["npm", "run", "serve"]

回到文件夹hellovue下面

docker build -t hellow:v1.0
​
docekr images 查看构建的镜像
​
docker run -itd --name 起名 -p 8080:8080 镜像的名字:v1.0 启动刚才创建的镜像
​
docker ps -a 查看启动的镜像

Dockerfile文件

# 基础镜像
from nginx:1.19
# Dockerfile的维护者
maintainer 919432841@qq.com
# 注释
label zl dockerfile-std
# 构件时环境变量
arg port 80
# 运行时环境变量
env port 80
# 拷贝
copy test.txt /
# 拷贝并解压
add test.tar /
# 指定工作目录
workdir /
# 在构建的时候执行的命令
run ls
​
# 换一个工作目录
workdir /test
run ls
​
# 容器启动的时候执行的命令,在外部的命令也会覆盖里面的
cmd ["-g","daemon off;"]
# 如果cmd和entrypoint同时使用,那么cmd中的东西会作为entrypoint的参数
# 容器启动的时候执行的命令,在外部的命令不会覆盖里面的
entrypoint ["nginx"]
# 暴露端口  1.开发人员方便查看  2. -P 动态映射端口
expose ${port}
​
#挂载卷,挂载在容器中的data目录,宿主的目录不知道,会随机分配
volume ["/data"]
​
run apt-get update -y
run apt-get install curl -y
# 健康检查
healthcheck --interval=5s --timeout=3s cmd curl -fs http://localhost/ || exit 1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

重开之Java程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值