日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

SpringBoot項目的Dockerfile和docker-compose.yml部署文件

作者:weixin_44953227 更新時間: 2022-04-09 編程語言

目錄

  • 構建Java鏡像的 Dockerfile
  • docker-compose.yml
  • MySQL啟動腳本

構建Java鏡像的 Dockerfile

文件名稱:Dockerfile

Linux 查看時間命令:date、時區命令:date -R

# 根據項目運行原件選擇不同的jdk版
# jdk1.8
FROM openjdk:8u265-jdk-slim
# FROM openjdk:8u265-jdk
# jdk11
# FROM openjdk:11.0.8-jdk

# 設置容器時區
ENV TZ=Asia/Shanghai
# 修改系統時區,默認是GMT,會慢8小時
# RUN echo "Asia/shanghai" > /etc/timezone;
# RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

# 設置工作目錄
WORKDIR /var/www

# 設置端口
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

注意使用啟動命令的前提是 Dockerfiledocker-compose.yml 以及 項目jar包 這三個文件都在當前路徑上(三個文件都在同一個目錄)

類似這樣

[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:重新構建鏡像

啟動命令:docker-compose up -d --build

停止命令:docker-compose down

# 更多參考: https://docs.docker.com/compose/compose-file/compose-file-v3/
# 路徑說明 . 或者 ./ 代表相對當前路徑; / 代表絕對路徑

version: "3"

services:
  webapp:
    build:
      # 構建鏡像的文件路徑, . 當前目錄
      context: .
      # 構建鏡像的文件名稱
      dockerfile: Dockerfile
    # 如果不自己構建鏡像(build) 也可以指定鏡像名稱或者本地的鏡像id, 如果鏡像不存在它會去遠程拉取, 比如: 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
    # 設置環境變量
    #environment:
    #  - TZ=Asia/Shanghai
    # 會先啟動 redis 容器再啟動自身容器
    #depends_on:
    #  - redis
    # 執行命令
    #command: java -jar app.jar --server.port=8080 --spring.profiles.active=prod


MySQL啟動腳本

MySQL 容器默認的配置文件位置:/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、執行腳本

bash docker-mysql-up.sh

原文鏈接:https://blog.csdn.net/weixin_44953227/article/details/117997825

欄目分類
最近更新