質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.53%

  • Linux

    4373questions

    Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

  • Docker

    1007questions

    Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

docker コンテナのtimezoneをJSTへ変更する方法

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 4,634

takai

score 2

Centos7(64bit)上で、dockerを使いコンテナを作成していますが
コンテナのtimezoneをUTCからJSTへ変更するには、どのようにすればいいでしょうか。

ホスト側のtimezoneはJSTです。

http://dosukoikoi.sub.jp/blog/archives/316

上記を参考にし、docker-compose.ymlのenvironmentを「TZ=Asia/Tokyo」にしましたが
GMTとなり、だめでした。

何もしなければ、コンテナのtimezoneはUTCです。

docker-compose.yml

version: '3'

services:
  app:
    build:
      context: .
      dockerfile: ./Dockerfile
    ports:
      - 127.0.0.1:3000:3000    # localhost only by default
    links:
      - mongo:mongo
      - redis:redis
      - elasticsearch:elasticsearch
    depends_on:
      - mongo
      - redis
      - elasticsearch
    environment:
      - "TZ=Asia/Tokyo"
      - MONGO_URI=mongodb://mongo:27017/growi
      - REDIS_URL=redis://redis:6379/growi
      - ELASTICSEARCH_URI=http://elasticsearch:9200/growi
      - PASSWORD_SEED=changeme
      # - FILE_UPLOAD=local    # activate this line if you use local storage of server rather than AWS
      # - MATHJAX=1            # activate this line if you want to use MathJax
      # - PLANTUML_URI=http:// # activate this line and specify if you use your own PlantUML server rather than public plantuml.com
    command: "dockerize
              -wait tcp://mongo:27017
              -wait tcp://redis:6379
              -wait tcp://elasticsearch:9200
              -timeout 60s
              npm run server:prod"
    volumes:
      - growi_data:/data

  mongo:
    image: mongo:3.4
    volumes:
      - mongo_configdb:/data/configdb
      - mongo_db:/data/db

  redis:
    image: redis:3-alpine
    volumes:
      - redis_data:/data

  elasticsearch:
    image: elasticsearch:5.3-alpine
    environment:
      - "ES_JAVA_OPTS=-Xms256m -Xmx256m"  # increase amount if you have enough memory
      - "TZ=Asia/Tokyo"
    command:
      - sh
      - -c
      - "./bin/elasticsearch-plugin list | grep -q analysis-kuromoji || ./bin/elasticsearch-plugin install analysis-kuromoji;
        ./bin/elasticsearch-plugin list | grep -q analysis-icu || ./bin/elasticsearch-plugin install analysis-icu;
        /docker-entrypoint.sh elasticsearch"
    volumes:
      - es_data:/usr/share/elasticsearch/data
      - es_plugins:/usr/share/elasticsearch/plugins
      - ./esconfig:/usr/share/elasticsearch/config

volumes:
  growi_data:
  mongo_configdb:
  mongo_db:
  redis_data:
  es_data:
  es_plugins:

Dockerfile

FROM weseek/growi:3

ENV APP_DIR /opt/growi

# install dockerize
ENV DOCKERIZE_VERSION v0.5.0
RUN apk add --no-cache --virtual .dl-deps curl \
    && curl -SL https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz \
        | tar -xz -C /usr/local/bin \
    && apk del .dl-deps

WORKDIR ${APP_DIR}

# install plugins if necessary
# ;;
# ;; NOTE: In GROWI v3 and later,
# ;;       2 of official plugins (growi-plugin-lsx and growi-plugin-pukiwiki-like-linker)
# ;;       are now included in the 'weseek/growi' image.
# ;;       Therefore you will not need following lines except when you install third-party plugins.
# ;;
#RUN echo "install plugins" \
#  && yarn add \
#      growi-plugin-XXX \
#      growi-plugin-YYY \
#  && echo "done."
# you must rebuild if install plugin at least one
# RUN npm run build:prod
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • xenbeat

    2018/04/10 03:00

    あ、Dockerfileも作成しているのならそちらも追記をお願いします。

    キャンセル

  • takai

    2018/04/10 03:02

    Dockerfileものせました。

    キャンセル

  • xenbeat

    2018/04/10 03:22

    OS、Alpineなんですねー。。。

    キャンセル

回答 1

checkベストアンサー

+1

Alpineですと、以下のどちらかで対応してください。

 コンテナ内で

apk --update add tzdata
export TZ=Asia/Tokyo
date

 Dockerfileで

https://qiita.com/dtan4/items/8359e389b95cbc60952d#%E3%82%BF%E3%82%A4%E3%83%A0%E3%82%BE%E3%83%BC%E3%83%B3%E3%81%AE%E8%A8%AD%E5%AE%9A

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/04/10 17:56

    ありがとうございます!
    コンテナ内でも、JSTになりました。

    もっと、勉強します!

    キャンセル

同じタグがついた質問を見る

  • Linux

    4373questions

    Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

  • Docker

    1007questions

    Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです