問題
VSCodeの拡張機能であるRemote -Containerを用いてpythonを用いたpostgreSQLの
操作ができる環境の作成を試み、
Dockerfile, docker-compose.ymlをにて設定し、Reopen in Containerを実行したのですが、
pythonファイルは実行できるのですが、psqlコマンドを用いてDB操作をしようとしても実行できず、
adminerにログインすることもできない状態です。
実現したいこと
ここに実現したいことを箇条書きで書いてください。
- ビルドした環境上でpsqlコマンドを用いたpostgreSQL操作
- adminerのログインに成功し、web上からのpostgreSQL操作
発生している問題・エラーメッセージ
- psql操作を試みた時のエラー
appuser@6e0a634130c9:/workspace$ psql -h db -U postgres bash: psql: command not found
- adminerのログインを試みた時のエラー
SQLSTATE[08006] [7] could not translate host name "database" to address: Name does not resolve
該当のソースコード
Dockerfile
1# For more information, please refer to https://aka.ms/vscode-docker-python 2FROM python:3.8-slim 3 4# Keeps Python from generating .pyc files in the container 5ENV PYTHONDONTWRITEBYTECODE=1 6 7# Turns off buffering for easier container logging 8ENV PYTHONUNBUFFERED=1 9 10# Install pip requirements 11COPY requirements.txt . 12RUN python -m pip install -r requirements.txt 13 14WORKDIR /app 15COPY . /app 16 17# Creates a non-root user with an explicit UID and adds permission to access the /app folder 18# For more info, please refer to https://aka.ms/vscode-docker-python-configure-containers 19RUN adduser -u 5678 --disabled-password --gecos "" appuser && chown -R appuser /app 20USER appuser 21 22# During debugging, this entry point will be overridden. For more information, please refer to https://aka.ms/vscode-docker-python-debug 23CMD ["python", "app.py"] 24 25 26#20220328:postgresqlを用いるためのpsycopg2をインストールするための記述 27RUN pip install psycopg2-binary
docker
1version: '3.4' #composeファイルフォーマットバージョン 2 3#サービス(コンテナ)の定義 4services: 5 #20220328:postgres設定 6 # postgres: 7 database: 8 image: postgres 9 ports: 10 - "5432:5432" 11 restart: always 12 environment: 13 POSTGRES_USER: postgres 14 POSTGRES_PASSWORD: postgres 15 POSTGRES_DB: db 16 POSTGRES_INITDB_ARGS: "--encoding=UTF-8 --locale=ja_JP.UTF-8" 17 adminer: 18 image: adminer 19 restart: always 20 depends_on: 21 - database 22 ports: 23 - "8080:8080" 24 app: 25 #20220327:appからpython3に変更 26 image: python #dockerイメージ名 27 build: 28 context: . 29 dockerfile: ./Dockerfile
試したこと
- pipコマンドでのインストール(まず、pipコマンドが用いることができません)
- docker psとdocker imageによる確認
Dockerに関しての知識が浅く、質問に回答して頂くための情報が不足しているかどうかが定かでは
ないですので、もし説明不足など至らない点などがありましたら、ご指摘して頂きたいです。
ご助言宜しくお願い致します。
