centosでdockerを使用してDjangoプロジェクトを配置

3204 ワード

Dockerはオープンソースのアプリケーションコンテナエンジンで、Go言語に基づいてApache 2に従う.0プロトコルオープンソース.Dockerは、開発者にアプリケーションをパッケージ化し、軽量級で移植可能なコンテナに依存させ、流行しているLinuxマシンに公開したり、仮想化したりすることができます.
Dockerの主なアプリケーションシーンの一つは、Webアプリケーションの自動化パッケージとパブリッシュです.次にcentosシステムの下でDockerパッケージを使用してDjangoプロジェクトを配置します.
Dockerのインストール
1.現在のカーネルバージョンの表示
uname -r​

2.centosにログインし、yumパッケージが最新に更新されていることを確認する
yum update

3.必要なパッケージのインストール
yum install -y yum-utils device-mapper-persistent-data lvm2

4.yumソースの設定
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

5.倉庫内のすべてのdockerバージョンを表示し、指定したバージョンのインストールを選択
yum list docker-ce --showduplicates | sort -r

6.dockerのインストール
yum install docker-ce #           

7.インストールが成功したことを確認する
docker version

8.dockerの起動
service docker start

docker-composeのインストール
docker-composeはdockerを自動化するためのものです.docker-composeがあれば、煩雑なdocker操作をすべて1つのコマンドで自動化することができます.
インストール
pip install docker-compose

配置
まず、Pythonミラーを作成する必要があります.MySQLデータベースを使用する場合は、MySQLミラーも作成する必要があります.
1.Pythonミラーの作成
docker pull python:3.6.4

2.MySQLミラーの作成
docker pull mysql:5.7

補足:
次に、一般的な操作コマンドを示します.
作成したミラーの表示
docker images

作成したコンテナの表示
docker ps -a

実行中のコンテナの表示
docker ps

ミラーの削除
docker rmi -f imageid

コンテナの削除
docker rm -f CONTAINERID

dockerコンテナに入る
docker exec -it     /bin/bash

dockerコンテナを更新しvimをインストール
apt-get update
apt-get install vim

3.manage.py同じディレクトリの下にdocker-composeを作成します.ymlとDockerfileファイル
docker-compose.yml
version: '3'

services:
  dj_web:
    build: .
    command: python ./manage.py runserver 0:8000
    volumes:
      - .:/code
    ports:
      - "8090:8000"
    depends_on:
      - db
    networks:
      default:
        aliases:
          - dj.com
  db:
    image: mysql:5.7
    environment:
     - MYSQL_DATABASE=docker_house
     - MYSQL_ROOT_PASSWORD=jin123 
    ports:
      - "3333:3306"
    volumes:
      - db_data:/var/lib/mysql

volumes:
  db_data:

Djangoプロジェクトのsetting.pyでデータベースに接続するには
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'docker_house',
        'USER': 'root',
        'PASSWORD': 'jin123',
        'HOST': 'db', #    docker-compose.yml   ,    ip  
        'PORT': '3306',
    }
}

Dockerfile
FROM python:3.6.4
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
RUN pip install -r requirements.txt
ADD . /code/

プロジェクトの開始
docker-compose up

プロジェクトを閉じる
docker-compose down