测试环境:腾讯云,或者是华为云,在香港地区或者非中国大陆地区的机器. 这个快速入门指南演示了如何使用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欢迎页面.
复制代码