测试环境:腾讯云,或者是华为云,在香港地区或者非中国大陆地区的机器. 这个快速入门指南演示了如何使用Docker Compose来设置和运行一个简单的Django / PostgreSQL应用程序.
1.安装docker
(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
2.安装docker-compose
(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文件.
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服务器和数据库,描述了它们如何链接在一起,服务公开的端口.
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
保存退出.
二.创建Django项目.
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欢迎页面.