日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Dockerfile项目环境介绍

發布時間:2025/3/21 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Dockerfile项目环境介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

項目環境介紹

1.項目部署架構圖

項目目錄結構說明

django-docker ## 項目根路徑.gitignore # git忽略不上傳的文件 │ docker-compose.yml # docker-compose文件 │ Dockerfile # 部署django項目的dockerfile │ README.md # 項目Readme說明 │ requirements.txt # 項目必須要安裝的文件 │ ├─nginx ## nginx容器配置文件 │ │ nginx.conf # /etc/nginx/nginx.conf配置文件 │ │ │ └─conf # /etc/nginx/conf.d配置nginx文件夾 │ default.conf │ └─web ## 部署django項目的web容器│ manage.py│ uwsgi.ini # django項目的uwsgi配置文件 │├─demoapp│ │ admin.py│ │ apps.py│ │ models.py│ │ tasks.py # 配置celery任務文件│ │ tests.py│ │ urls.py│ │ views.py│ │ __init__.py│ ││ ├─migrations│ │ __init__.py # 引入celery│ ││ └─templates│ └─demoapp│ celery_detail.html # 查看具體celery執行結果頁面│ celery_index.html # 查看對應celery任務頁面│ index.html # 項目主頁面│└─webcelery.py # celery配置文件settings.pyurls.pywsgi.py__init__.py

docker-compose.yml詳釋

docker-compose.yml詳解

version: '3' # cocker compose版本號services: # 頂級配置文件mysql: # 服務名: 容器建通信、管理容器image: mysql:5.7 # 引入官方mysql鏡像volumes:- ./mysql:/var/lib/mysql # 把當前文件夾下的 ./mysql文件夾掛載到docker容器 /var/lib/mysql 路徑下expose:- "3306" # 將當前容器的端口3306端口暴露給link到本容器的容器restart: always # 宿主機重啟自動拉起這個docker容器environment:- MYSQL_ROOT_PASSWORD=root # mysql服務器root密碼root- MYSQL_DATABASE=djangodocker # 創建數據庫 djangodocker- MYSQL_USER=django # 創建一個用戶 django- MYSQL_PASSWORD=django # 用戶密碼為djangonginx:image: nginx:alpinevolumes:- ./nginx/nginx.conf:/etc/nginx/nginx.conf- ./nginx/conf:/etc/nginx/conf.d- ./web/staticfiles:/django_staticports:- "80:80" # 綁定容器的80端口到主機的80端口depends_on:- web # 必須先啟動web容器然才能啟動nginx容器redis:image: redis:alpineexpose:- "6379"restart: alwaysweb:build: .# command: python manage.py runserver 0:8000# ports:# - "8000:8000"command: uwsgi --ini uwsgi.ini # 啟動uwsgi命令working_dir: /code/web # 項目工作路徑volumes:- .:/code # 將當前文件夾下所有文件掛載到容器的 /code 文件夾expose:- "8000"depends_on: # 必須mysql和reids容器啟動后才能啟動web容器- mysql- rediscelery:build: .command: celery -A web worker -l infoworking_dir: /code/webvolumes:- .:/codedepends_on:- mysql- redis

相似指令比較

'''1. expose 與 ports 比較''' # ports: 綁定容器的端口到主機的端口,這樣就可以在外網訪問docker容器的服務 # expose: 將當前容器的端口3暴露給link到本容器的容器,expose不會將端口暴露給主機'''2. depends_on 與 links區別''' # depends_on: 指定本容器啟動依賴的容器必須先啟動 # links: 保證容器如果ip變化也能訪問(基本已經棄用,因為不使用link仍然可以通過容器名稱訪問)

總結

以上是生活随笔為你收集整理的Dockerfile项目环境介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。