Dockerfile项目环境介绍
生活随笔
收集整理的這篇文章主要介紹了
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__.pydocker-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项目环境介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Dockerfile的介绍
- 下一篇: Linux文件操作四剑客常用命令