国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

使用docker-compose.yml快速搭建開發(fā)、部署環(huán)境(nginx、tomcat、mysql、jar包、各種程序)以及多容器通信和統(tǒng)一配置

這篇具有很好參考價值的文章主要介紹了使用docker-compose.yml快速搭建開發(fā)、部署環(huán)境(nginx、tomcat、mysql、jar包、各種程序)以及多容器通信和統(tǒng)一配置。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

docker-compose

語法(更多說明可查看下面代碼)

image

鏡像名稱,可去鏡像市場查找自己需要的

hostname

容器內服務名

container_name

容器名

volumes

可以把自己電腦的路徑映射到容器中的文件夾中

networks

寫同一個網(wǎng)絡可以讓容器之間進行通信

yml文件的使用

啟動

在項目根目錄的命令行中輸入docker-compose up

停止

在項目根目錄的命令行中輸入docker-compose down文章來源地址http://www.zghlxwxcb.cn/news/detail-655276.html

開發(fā)環(huán)境(這里以python為例)

  • 在項目根目錄創(chuàng)建一個docker-compose.yml文件;
  • 因為我這里主要用于在win下使用pyinstaller打包linux使用的二進制可執(zhí)行程序,所以command配置的是先安裝依賴包,再執(zhí)行打包程序,此寫法可以執(zhí)行多行bash指令;
  • 最后就是根據(jù)自己需要進行修改。
version: '3.1' # 如果報錯可以切換版本試下
services:
  api:
    image: python:3.11.4 # 冒號后面跟版本
    hostname: api
    container_name: api
    volumes:
      - ./:/api # 把當前yml的路徑,也就是項目根目錄映射到容器中的api文件夾中
    working_dir: /api/ # 相當于設置容器內項目根目錄
    environment:
      - TZ=Asia/Shanghai
    command: >
      bash -c '
      pip3 install -i https://mirrors.aliyun.com/pypi/simple/ -r /api/requirements.txt &&
      pyinstaller /api/WebService.py -F --icon /api/static/favicon.ico --collect-all flasgger --add-data "/api/static:static" --add-data "/api/templates:templates" --add-data "/api/lib:lib"
      '
    network_mode: bridge # 無需跨容器可默認網(wǎng)橋模式

部署環(huán)境

nginx

  • 按照官方的說法,自己可以通過配置后綴名為.template的conf文件,來讓容器內的nginx加載;
  • 這里我提前在/usr/nginx中創(chuàng)建了一個my.conf.template文件,內部可以按自己的項目來配置server{listen: 83; location / {}}
  • 我把打包好的前端項目放到了/usr/nginx/www中了。
version: '3.1'
services:
  web:
    image: nginx
    hostname: web
    container_name: web
    volumes:
      - /usr/nginx:/etc/nginx/templates
      - /usr/nginx/www:/www
    networks:
      - gd-net
    ports:
     - 83:83

mysql

  • mysql文件夾映射出來的目的是為了保存數(shù)據(jù),否則每次down的時候會把數(shù)據(jù)庫清空;
  • 可以按照自己的需求來修改mysql的版本密碼。
version: '3.1'
services:
  db:
    image: mysql:5.7
    hostname: db
    container_name: db
    volumes:
      - /usr/mysql/mysql:/var/lib/mysql
      - /usr/mysql/conf.d:/etc/mysql/conf.d
    command: --default-authentication-plugin=mysql_native_password
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: 123456
    ports:
      - 3306:3306
    networks:
      - gd-net

tomcat

  • 這個鏡像使用的是jre8,如果需要openjdk或其它版本之類的環(huán)境可以去鏡像市場搜索;
  • 這里映射的是webapps文件夾,up后里面的war包會自動展開。
version: '3.1'
services:
  tom:
    image: tomcat:8.5.91-jre8-temurin-jammy
    hostname: tom
    container_name: tom
    restart: always
    ports:
      - 8080:8080
    environment:
      - TZ=Asia/Shanghai
    volumes:
      - /usr/war:/usr/local/tomcat/webapps
    networks:
      - gd-net

jar包

  • 因為使用volumes映射的路徑放進去的文件不一定有執(zhí)行權限,所以在command中加入了chmod指令。
version: '3.1'
services:
  jar:
    image: openjdk:8
    hostname: jar
    container_name: jar
    restart: always
    volumes:
      - /usr/jar:/jar
    ports:
      - 8888:8888
    command: bash -c "chmod +x /jar/gdla* && java -jar /jar/gdla*"
    networks:
      - gd-net

打包后的可執(zhí)行程序

  • 這里我執(zhí)行的是pyinstaller打包好的linux二進制可執(zhí)行程序,在linux系統(tǒng)圖形界面下是可以雙擊運行的;
  • 因為使用volumes映射的路徑放進去的文件不一定有執(zhí)行權限,所以在command中加入了chmod指令;
  • command中的*表示通配符的意思,意思為以API開頭的文件。
version: '3.1'
services:
  api:
    image: python:3.11.4
    hostname: api
    container_name: api
    volumes:
      - /usr/api:/api
    working_dir: /api
    ports:
      - 8999:8999
      - 2013:2013
    environment:
      - TZ=Asia/Shanghai
    command: bash -c "chmod +x /api/API* && /api/API*"
    networks:
      - gd-net
    restart: unless-stopped  # 自動啟動:unless-stopped、always等,unless-stopped為非正常停止則自動啟動

常見問題與解決方案

多個容器寫在同一個compose中

version: '3.1'
services:
  db:
    image: mysql:5.7
    networks:
      - gd-net
  jar:
    image: openjdk:8
    networks:
      - gd-net
networks:
  gd-net:

容器與容器之間通信

  • 例如一個容器的tomcat想要訪問另一個容器的mysql服務
  • 首先兩個容器使用同一個networks;
  • db.properties配置的連接名就不是ip了,可以寫成上面設置的服務名,也就是db
  • 當然,如果你的項目不在容器中,而在宿主電腦,這時是可以通過ip訪問數(shù)據(jù)庫的。

到了這里,關于使用docker-compose.yml快速搭建開發(fā)、部署環(huán)境(nginx、tomcat、mysql、jar包、各種程序)以及多容器通信和統(tǒng)一配置的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • docker-compose.yml配置文件參數(shù)

    1. image 在 services 標簽下的第二級標簽是 web,這個名字是用戶自己自定義,它就是服務名稱。 image 則是 指定服務的鏡像名稱或鏡像 ID 。如果鏡像在本地不存在,Compose 將會嘗試拉取這個鏡像。 2. environment 環(huán)境變量 ,這個標簽的作用是 設置鏡像變量 ,它可以保存變量到鏡像

    2024年02月10日
    瀏覽(33)
  • docker-compose.yml報錯問題

    docker-compose.yml報錯問題

    ERROR: The Compose file \\\'./docker-compose.yml\\\' is invalid because: Invalid top-level property \\\"True\\\". Valid top-level sections for this Compose file are: version, services, networks, volumes, secrets, configs, and extensions starting with \\\"x-\\\". You might be seeing this error because you\\\'re using the wrong Compose file version. Either specify a supported vers

    2024年02月14日
    瀏覽(34)
  • Docker Compose的常用命令與docker-compose.yml腳本屬性配置

    Docker Compose的常用命令與docker-compose.yml腳本屬性配置

    注意:需要在docker-compose配置文件同目錄下執(zhí)行命令 不然提示如下: 下面命令可以輸出 web服務 5000 端口所綁定的公共端口 會優(yōu)雅地停止服務,即發(fā)送 SIGTERM 信號給容器,等待一段時間(默認為 10 秒)讓容器執(zhí)行清理操作,然后再發(fā)送 SIGKILL 信號強制關閉容器。這樣可以確保

    2024年02月15日
    瀏覽(49)
  • halo搭建炫酷個人博客快速部署:docker+docker-compose+nginx

    halo搭建炫酷個人博客快速部署:docker+docker-compose+nginx

    ?? 服務器與網(wǎng)站部署知識體系目錄 部署一個炫酷的個人博客只需要按照本文的指令直接 cv 即可。 但請注意打開服務器防火墻的 80 和 3306 端口。 Halo是一款現(xiàn)代化的開源博客/CMS系統(tǒng),所有代碼開源在GitHub上且處于積極維護狀態(tài)。它是基于 Java Spring Boot 構建的,易于部署,支

    2024年02月08日
    瀏覽(15)
  • 對象存儲, 開源MinIO docker-compose.yml 文件

    對象存儲, 開源MinIO docker-compose.yml 文件

    https://min.io/docs/minio/linux/developers/python/API.html 經(jīng)過驗證,可以啟動。 訪問http://127.0.0.1:9001/ 登錄一下(用戶名和密碼在 docker-compose 文件中已經(jīng)配置) 配置 bucket 再配置 bucket 的accessKey, secretKey, 配置完后之后,可以下載這些配置文件為 json 文件到本地這個文件很重要, 在業(yè)

    2024年01月19日
    瀏覽(34)
  • 基于docker-compose編排部署pig微服務快速開發(fā)框架

    基于docker-compose編排部署pig微服務快速開發(fā)框架

    基于docker-compose編排部署Pig微服務快速開發(fā)框架 1.規(guī)劃節(jié)點 IP 主機名 節(jié)點 192.168.100.10 master docker-compose節(jié)點 2.基礎準備 將軟件包上傳至master節(jié)點/root目錄下 案例實施 1.基礎環(huán)境準備 (1)上傳軟件包 導入Centos:7.9.2009鏡像 查看集群狀態(tài) 2.容器化部署MariaDB (1)編寫Dockerfile 編寫mysql

    2024年02月16日
    瀏覽(29)
  • 在docker編排文件docker-compose.yml中,指定容器的ip地址

    在docker-compose的yaml文件中,可以使用networks來指定容器的ip地址。具體來說,可以在services下面的某個service中添加networks字段,然后在該字段下面添加ipv4_address字段來指定該容器的ip地址。例如: 以上我們定義了一個名為back-tier的網(wǎng)絡,然后在web服務中使用了該網(wǎng)絡,并指定了

    2024年02月08日
    瀏覽(28)
  • 使用Docker-compose快速構建Nacos服務

    使用Docker-compose快速構建Nacos服務

    在微服務架構中,服務的注冊與發(fā)現(xiàn)扮演著至關重要的角色。Nacos(Naming and Configuration Service)是阿里巴巴開源的服務注冊與發(fā)現(xiàn)組件,致力于支持動態(tài)配置管理和服務發(fā)現(xiàn)。最近,一位朋友表達了對搭建一套Nacos開發(fā)環(huán)境的興趣。先前,我們曾發(fā)布了一篇有關在Linux上直接部

    2024年01月24日
    瀏覽(28)
  • ERROR: Version in “./docker-compose.yml“ is unsupported

    ERROR: Version in “./docker-compose.yml“ is unsupported

    錯誤原因:------? ? ? ? ? ? ? docker-compose版本過低 解決方式: 直接改成3.3? 或者你保存信息中提到的版本號 首先要查看docker-compose的路徑 根據(jù)上一步的 whereis 找到了docker-compose的路徑為: /usr/bin/docker-compose ,所以下面的腳本,路徑也替換為這個就可以了。 下載 授權 版本號

    2024年02月16日
    瀏覽(57)
  • 使用docker-compose搭建gitlab

    使用Docker搭建GitLab帶來的好處。它簡化了部署過程,將安裝和配置整合為一個容器,并通過簡單的命令即可啟動和運行GitLab實例。Docker的隔離和容器化特性確保了GitLab與其依賴的軟件環(huán)境的隔離,避免了沖突問題。此外,Docker的可移植性使得GitLab可以在不同平臺和環(huán)境中運行

    2024年01月18日
    瀏覽(59)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包