網(wǎng)站首頁 編程語言 正文
目錄
- 構(gòu)建Java鏡像的 Dockerfile
- docker-compose.yml
- MySQL啟動腳本
構(gòu)建Java鏡像的 Dockerfile
文件名稱:Dockerfile
Linux 查看時間命令:date
、時區(qū)命令:date -R
# 根據(jù)項目運行原件選擇不同的jdk版
# jdk1.8
FROM openjdk:8u265-jdk-slim
# FROM openjdk:8u265-jdk
# jdk11
# FROM openjdk:11.0.8-jdk
# 設(shè)置容器時區(qū)
ENV TZ=Asia/Shanghai
# 修改系統(tǒng)時區(qū),默認(rèn)是GMT,會慢8小時
# RUN echo "Asia/shanghai" > /etc/timezone;
# RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 設(shè)置工作目錄
WORKDIR /var/www
# 設(shè)置端口
EXPOSE 8080
# 拷貝程序
COPY *.jar /var/www/app.jar
# 運行
ENTRYPOINT ["java","-jar","app.jar", "--server.port=8080", "--spring.profiles.active=prod"]
docker-compose.yml
參考鏈接:https://docs.docker.com/compose/compose-file/compose-file-v3/
docker-compose 命令:https://blog.csdn.net/weixin_44953227/article/details/116902134
注意使用啟動命令的前提是
Dockerfile
和docker-compose.yml
以及項目jar包
這三個文件都在當(dāng)前路徑上(三個文件都在同一個目錄)
類似這樣
[root@VM-06-16-centos-8-64 my-blog-site]# pwd
/home/root/www/my-blog-site
[root@VM-06-16-centos-8-64 my-blog-site]# ls
app.jar docker-compose.yml Dockerfile
[root@VM-06-16-centos-8-64 my-blog-site]#
文件名稱:docker-compose.yml
-
-d
:后臺運行 -
--build
:重新構(gòu)建鏡像
啟動命令:docker-compose up -d --build
停止命令:docker-compose down
# 更多參考: https://docs.docker.com/compose/compose-file/compose-file-v3/
# 路徑說明 . 或者 ./ 代表相對當(dāng)前路徑; / 代表絕對路徑
version: "3"
services:
webapp:
build:
# 構(gòu)建鏡像的文件路徑, . 當(dāng)前目錄
context: .
# 構(gòu)建鏡像的文件名稱
dockerfile: Dockerfile
# 如果不自己構(gòu)建鏡像(build) 也可以指定鏡像名稱或者本地的鏡像id, 如果鏡像不存在它會去遠(yuǎn)程拉取, 比如: mysql:5.7、9bd7d8705a46
# 如果你指定了 build 的同時又指定了 image, 那么 image 的作用就會變成 鏡像名稱
image: my-blog-site
# 生成容器名稱
container_name: my-blog-site
# 工作目錄
working_dir: /var/www
# 是否自動重啟
restart: always
# 暴露端口
ports:
- "8080:8080"
# 雙向綁定: 宿主機和容器的文件或者文件夾
volumes:
- ./app.jar:/var/www/app.jar
- ./logs:/var/www/logs
- ./upload:/var/www/upload
# 設(shè)置環(huán)境變量
#environment:
# - TZ=Asia/Shanghai
# 會先啟動 redis 容器再啟動自身容器
#depends_on:
# - redis
# 執(zhí)行命令
#command: java -jar app.jar --server.port=8080 --spring.profiles.active=prod
MySQL啟動腳本
MySQL 容器默認(rèn)的配置文件位置:/etc/mysql/my.cnf
參考鏈接:https://hub.docker.com/_/mysql
docker run -itd --name site-mysql-5.7 --restart=always -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -e TZ=Asia/Shanghai -v /home/root/mysql/data:/var/lib/mysql -v /home/root/mysql/logs:/var/log/mysql mysql:5.7
自定義配置文件版
docker run -itd --name site-mysql-5.7 --restart=always -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -e TZ=Asia/Shanghai -v /home/root/mysql/data:/var/lib/mysql -v /home/root/mysql/logs:/var/log/mysql -v /home/root/mysql/conf/my.cnf:/etc/mysql/my.cnf mysql:5.7
腳本啟動
1、生成腳本
echo "docker run -itd --name site-mysql-5.7 --restart=always -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -e TZ=Asia/Shanghai -v /home/root/mysql/data:/var/lib/mysql -v /home/root/mysql/logs:/var/log/mysql mysql:5.7" > docker-mysql-up.sh
2、執(zhí)行腳本
bash docker-mysql-up.sh
原文鏈接:https://blog.csdn.net/weixin_44953227/article/details/117997825
相關(guān)推薦
- 2022-10-31 Golang中map數(shù)據(jù)類型的使用方法_Golang
- 2022-10-14 Jboss使用jndi配置數(shù)據(jù)源連接數(shù)據(jù)庫
- 2022-07-16 uniapp小程序webSocket封裝、斷線重連、心跳檢測
- 2022-10-28 React?this.setState方法使用原理分析介紹_React
- 2022-10-11 CFS調(diào)度算法調(diào)度時機的理解
- 2022-12-27 Python中的類的定義和對象的創(chuàng)建方法_python
- 2022-10-03 React在定時器中無法獲取狀態(tài)最新值的問題_React
- 2023-04-12 Python?numpy.interp的實例詳解_python
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支