現在、Djangoフレームワークの設定ファイルの「settings.py」の初期セットアップの自動設定シェルスクリプトをdockerのビルド時にまとめて実行させたいのですが
ビルド自体は成功するのですが、シェルスクリプトの実行ができません
シェルスクリプトファイル「settings.sh」
shell
1#!/bin/sh 2 3echo "setting.py設定変更" 4 5# 言語をjaに変更 6sed -i -e "s/LANGUAGE_CODE = 'en-us'/LANGUAGE_CODE = 'ja'/" ./core/settings.py 7 8# タイムゾーンをAsia/Tokyoに変更 9sed -i -e "s/TIME_ZONE = 'UTC'/TIME_ZONE = 'Asia/Tokyo'/" ./core/settings.py 10
「Dockerfile」
Dockerfile
1FROM python:3.7-alpine 2 3ENV PYTHONDONTWRITEBYTECODE 1 4ENV PYTHONUNBUFFERED 1 5 6EXPOSE 8000 7 8WORKDIR /code 9 10COPY requirements.txt /code/ 11 12RUN pip install -r requirements.txt 13 14COPY . /code/ 15 16ENTRYPOINT ["bash", "settings.sh"]
「docker-compose.yml」
docker
1version: "3.9" 2 3services: 4 5 web: 6 build: . 7 container_name: web-container 8 command: python manage.py runserver 0.0.0.0:8000 9 volumes: 10 - .:/code 11 ports: 12 - 8000:8000 13 depends_on: 14 - db 15 16 db: 17 image: postgres:11.4-alpine 18 container_name: db-container 19 volumes: 20 - postgres_data:/var/lib/postgresql/data 21 environment: 22 - POSTGRES_USER=django_db_user 23 - POSTGRES_PASSWORD=password1234 24 - POSTGRES_DB=django_db 25 26volumes: 27 postgres_data:
以下のコマンドで実行させています。
bash
1docker-compose run web django-admin startproject core . 2 3docker-compose up
docker compose log
は以下の通りです。
bash
1$ new_image % docker-compose run web django-admin startproject core . 2Creating network "new_image_default" with the default driver 3Creating db-container ... done 4Creating new_image_web_run ... done 5$ new_image % docker-compose up 6Docker Compose is now in the Docker CLI, try `docker compose up` 7 8db-container is up-to-date 9Creating web-container ... done 10Attaching to db-container, web-container 11db-container | [1] LOG: listening on IPv4 address "0.0.0.0", port 5432 12db-container | [1] LOG: listening on IPv6 address "::", port 5432 13db-container | [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432" 14db-container | [21] LOG: database system was shut down at 2021-05-04 05:29:44 UTC 15db-container | [1] LOG: database system is ready to accept connections 16web-container | Watching for file changes with StatReloader 17web-container | Performing system checks... 18web-container | 19web-container | System check identified no issues (0 silenced). 20web-container | 21web-container | You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions. 22web-container | Run 'python manage.py migrate' to apply them. 23web-container | May 04, 2021 - 05:30:34 24web-container | Django version 3.2, using settings 'core.settings' 25web-container | Starting development server at http://0.0.0.0:8000/ 26web-container | Quit the server with CONTROL-C.
Dockerfileの記述の問題とは思うのですが、docker同様にシェルも初学者なので、自分自身もまだ深く理解できておらず、文面だけでは伝わりにくいとは思いますがお力添えして頂けると嬉しいです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。