docker内からs3へのアクセス

dockerに浮かべたzeppelinのpythonからs3へアクセスするとエラーとなったため調査しました。

aws cliのcredentialsが設定されていなかったため、エラーとなったようです。

dockerの場合、docker起動時に設定されていないと有効にならないようなので、ボリュームマウントの設定を入れて解決しました。
docker-compose.yml


version: '3'
services:
  zeppelin:
    image: apache/zeppelin:0.8.1
    ports:
      - "8080:8080"
    volumes:
      - ./vol/logs:/logs
      - ./vol/notebook:/notebook
      - ./vol/data:/data
      - ./vol/config:/config
      - $HOME/.aws/credentials:/root/.aws/credentials
    restart: always
    environment:
      ZEPPELIN_LOG_DIR: /logs
      ZEPPELIN_NOTEBOOK_DIR: /notebook
      HTTP_PROXY: ${HTTP_PROXY}
      HTTPS_PROXY: ${HTTPS_PROXY}