測試環境:騰訊雲,或者是華爲雲,在香港地區或者非中國大陸地區的機器. 這個快速入門指南演示瞭如何使用Docker Compose來設置和運行一個簡單的Django / PostgreSQL應用程序.python
(1)安裝docker的依賴包
yum install -y yum-utils device-mapper-persistent-data lvm2
(2)添加repo文件
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
(3)安裝docker,並啓動
yum -y install docker-ce
systemctl start docker
複製代碼
(1)運行下面的命令,安裝穩定版的
curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
要安裝不一樣版本的compose ,請替換1.24.0 爲要使用的compose版本
(2)對二進制文件應用可執行權限
chmod +x /usr/local/bin/docker-compose
(3)查看安裝的版本信息
docker-compose --version
另外一種安裝方法
pip install docker-compose
複製代碼
對於此項目,須要先建立dockerfile,python依賴項文件和dockercompose.yml文件.linux
1.建立一個目錄
mkdir shijian
2.cd到shijian
3.在shijian目錄中建立一個文件Dockerfile (注意開頭要大寫)
vi Dockerfile
將如下內容添加到Dockerfile
FROM python:3
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
COPY requirements.txt /code/
RUN pip install -r requirements.txt
COPY . /code/
保存退出
複製代碼
4.在shijian目錄中建立一個requirements.txt
vi requirements.txt
將如下內容添加到requirements.txt
Django>=2.0,<3.0
psycopg2>=2.7,<3.0
保存退出
複製代碼
5.在shijian目錄中建立docker-compose.yml ,該文件描述了構成應用程序的服務.這些服務是web服務器和數據庫,描述了它們如何連接在一塊兒,服務公開的端口.git
vi docker-compose.yml
將如下內容添加到文件中.
version: '3'
services:
db:
image: postgres
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
depends_on:
- db
保存退出.
複製代碼
1.cd到shijian目錄
2.經過運行docker-compose run命令建立Django項目.
docker-compose run web django-admin startproject composeexample .
這指示Compose django-admin startproject composeexample 使用web服務的圖像和配置在容器中運行。因爲web圖像尚不存在,所以Compose從當前目錄構建它,如build: .行中所指定的docker-compose.yml。
一旦web服務形象創建,撰寫運行它,並執行 django-admin startproject在容器命令。此命令指示Django建立一組表示Django項目的文件和目錄。
3.若是您在Linux上運行Docker,則django-admin建立的文件由root擁有。發生這種狀況是由於容器以root用戶身份運行。 更改新文件的全部權。
chown -R $USER:$USER .
4.ls -l
複製代碼
1.在shijian目錄中,編輯該composeexample/settings.py文件。
2.找到DATABASES 這一模塊,將它替換爲如下內容:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'postgres',
'USER': 'postgres',
'HOST': 'db',
'PORT': 5432,
}
}
保存退出
3.在shijian目錄中運行docker-compose up -d 命令
4.此時在本機瀏覽器輸入 http://localhost:8000 就能夠查看到Django歡迎頁面.
複製代碼