Docker构建笔记

本文介绍了Dockerfile模板,详细讲解了如何使用Docker构建Java应用,包括OpenJDK、Spring配置及MySQL、Nginx的部署。提供了三个不同阶段的Dockerfile实例,并指导了docker build、run和不使用docker的部署方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Docker构建笔记

Dockerfile模板

模板一

FROM openjdk:8-jdk-alpine
MAINTAINER "维护者 <email>"
LABEL description="描述"
WORKDIR app
ADD app.jar /app/app.jar
EXPOSE 8081
CMD java -jar /app/app.jar

模板二

FROM java:8
MAINTAINER "xxx"
ADD hailan.jar hailan.jar
EXPOSE 8083
ENTRYPOINT ["java","-jar","hailan.jar"]

模板三 指定配置文件启动

FROM java:8
MAINTAINER "xxx"
ADD hailan.jar hailan.jar
COPY application /application
EXPOSE 8083
ENTRYPOINT ["java","-jar","hailan.jar","--spring.config.location=/application.yml"]

构建:

注意有个.(小数点)

docker build -t my/hailan .

运行

这个表示docker容器在停止或服务器开机之后会自动重新启动 --restart=always

docker run -d --restart=always -v /usr/local/lsz/logs:/logs --name hailan -p 80:80  my/hailan

不使用docker部署

 nohup java -jar vTest.jar  --spring.config.location=/usr/local/application.yml >  /usr/local/nohup.out 2>&1 &

docker快速安装mysql(以5.7为例)

docker pull mysql:5.7

# 挂载安装
docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7


docker cp mysql:/etc/mysql /usr/local/docker/mysql/conf/

docker cp mysql:/var/log /usr/local/docker/mysql/logs

docker cp mysql:/var/lib/mysql /usr/local/docker/mysql/data

docker rm -f mysql

# 挂载安装
docker run -p 3306:3306 --restart=always --name mysql \
-v /usr/local/docker/mysql/conf/mysql:/etc/mysql \
-v /usr/local/docker/mysql/logs/log:/var/log/mysql \
-v /usr/local/docker/mysql/data/mysql:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7



在这里插入图片描述

docker快速安装nginx

# 无挂载安装
docker run -p 8080:80 --name test_nginx -d docker.io/nginx 


docker cp test_nginx:/usr/share/nginx/html /home/mnginx/nginx/html

docker cp test_nginx:/etc/nginx/nginx.conf /home/mnginx/nginx/conf/nginx.conf

docker cp test_nginx:/var/log/nginx /home/mnginx/nginx/logs

docker cp test_nginx:/etc/nginx/conf.d /home/mnginx/nginx/conf.d

docker rm -f test_nginx 

# 挂载安装
docker run --name docker_nginx -d  -p 80:80 --restart=always \
-v /home/mnginx/nginx/html:/usr/share/nginx/html \
-v /home/mnginx/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /home/mnginx/nginx/logs:/var/log/nginx \
-v /home/mnginx/nginx/conf.d:/etc/nginx/conf.d nginx

nginx 配置信息在容器中的位置


日志位置:/var/log/nginx/
配置文件位置:/etc/nginx/
项目位置:/usr/share/nginx/html

效果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值