○Mezzanineの画面
○構築方法
以下の手順で、Mezzanineのコンテナを構築・実行します。
1. Mezzanineイメージの作成(Dockerfileがあるフォルダで実行)
docker build -t mezzanine-pg .
Dockerfile
FROM python:3.6-alpine3.7
RUN mkdir -p /opt/mezzanine
WORKDIR /opt/mezzanine
RUN apk update \
&& apk add --no-cache --virtual=build-deps jpeg jpeg-dev zlib-dev musl-dev gcc build-base python3-dev postgresql-dev\
&& pip install mezzanine psycopg2 \
&& apk del build-base build-deps gcc \
&& apk add --no-cache postgresql-client \
&& rm -rf /var/cache/apk/* \
&& mezzanine-project mysite \
&& echo $'#!/bin/sh \n\
export PGPASSWORD=mezzanine \n\
until psql -h db -U postgres -d mezzanine -c "\l" \n\
do \n\
echo -n "." \n\
sleep 1 \n\
done \n\
cd /opt/mezzanine/mysite \n\
sed -i -e \'s/"ENGINE": "django.db.backends.sqlite3",/"ENGINE": "django.db.backends.postgresql_psycopg2",/\' /opt/mezzanine/mysite/mysite/local_settings.py \n\
sed -i -e \'s/"NAME": "dev.db",/"NAME": "mezzanine",/\' /opt/mezzanine/mysite/mysite/local_settings.py \n\
sed -i -e \'s/"USER": "",/"USER": "postgres",/\' /opt/mezzanine/mysite/mysite/local_settings.py \n\
sed -i -e \'s/"PASSWORD": "",/"PASSWORD": "mezzanine",/\' /opt/mezzanine/mysite/mysite/local_settings.py \n\
sed -i -e \'s/"HOST": "",/"HOST": "db",/\' /opt/mezzanine/mysite/mysite/local_settings.py \n\
sed -i -e \'s/"PORT": "",/"PORT": "5432",/\' /opt/mezzanine/mysite/mysite/local_settings.py \n\
sed -i -e \'s/# ALLOWED_HOSTS = \[""\]/ALLOWED_HOSTS = ["*"]/\' /opt/mezzanine/mysite/mysite/local_settings.py \n\
python manage.py createdb --noinput \n\
python manage.py migrate --noinput \n\
python manage.py runserver 0.0.0.0:80' > /opt/mezzanine/mysite/start.sh \
&& chmod +x /opt/mezzanine/mysite/start.sh
EXPOSE 80
VOLUME /opt/mezzanine/mysite
CMD ["/opt/mezzanine/mysite/start.sh"]
2. MezzanineとPostgreSQLコンテナの構築・実行(docker-compose.ymlがあるフォルダで実行)
docker-compose up -d
docker-compose.yml
version: "2"
services:
db:
image: postgres:9.6-alpine
container_name: "mezzanine-db"
ports:
- "5432:5432"
volumes:
- "db-data:/var/lib/postgresql/data"
environment:
POSTGRES_DB: mezzanine
POSTGRES_PASSWORD: mezzanine
mezzanine:
image: mezzanine-pg
container_name: "mezzanine"
volumes:
- "mezzanine-data:/opt/mezzanine/mysite"
ports:
- "80:80"
depends_on:
- db
volumes:
db-data:
driver: local
mezzanine-data:
driver: local
3.ブラウザから以下のURLにアクセス
http://<Dockerホスト名またはIP>/
※デフォルトユーザとパスワードはadmin/defaultです。
○関連情報
・psycopg2に関する他の記事はこちらを参照してください。
0 件のコメント:
コメントを投稿