Closed Noiri closed 3 years ago
初期のerror
user@vm:~/homework01$ docker-compose up -d
Building db
ERROR: Dockerfile parse error line 1: unknown instruction: FROM MARIADB@SHA256:EACAB2A85F2692A71BBECEC0EC1D4EAB0A813409BC4760B2D15269B05AA2BAFB
user@vm:~/homework01$ cat docker-compose.yml
version: '3'
services:
nginx:
image: nginx@sha256:8789e3c472689faa3849023e5272e887982f0714a9e3c89e4786b8cf614db2cf
db:
build: ./
user@vm:~/homework01$ cat Dockerfile
FROM mariadb@sha256:eacab2a85f2692a71bbecec0ec1d4eab0a813409bc4760b2d15269b05aa2bafb
user@vm:~/homework01$
お世話になっております。kstm(かすたむ)です。
今回の原因はDockerfileに全角スペースが入っていることが原因でした。
FROM mariadb@sha256:eacab2a85f2692a71bbecec0ec1d4eab0a813409bc4760b2d15269b05aa2bafb
のFROM
の後ろに存在した全角スペースを半角スペースに変更した所、docker-composeは正常に起動しました
しかしdockerイメージがarmアーキテクチャの物だったため、コンテナが起動後にエラーで終了していました。
x86_64のコンテナイメージをdockerhubから取得しようとした所pullのrate limit
の制限によりpullできなかったため、
手元でdockerhubからpullしたイメージをghcr.ioに一度pushし、pullすることで正しいコンテナイメージを取得しました。
これにより正常に起動するようになりました。
ただmariadbはpassword関連の環境変数を設定しなければ終了してしまうので、以下のようにdocker-compose.yamlを編集しました
version: '3'
services:
nginx:
image: nginx@sha256:d7038eae37cfa36cd8e286f6d6daf0df7a445a2da327517b3cde4ba1833adc0c
db:
build: ./
environment:
- MYSQL_ROOT_PASSWORD=ictsc
概要 あなたは研修グループに所属にしているエンジニア兼先生です。 研修にて、サーバー上でDockerを用いてサービスを構築する研修課題を出題しました。 課題はDocker Compose を使って複数のイメージを起動してみる。という課題でした。ある一人の受講生がエラーが発生し、解決できないと相談しにきました。 エラーを解消し起動を行いなさい。
前提条件 サーバーのルール:Dockerイメージは公式イメージのみ Docker Hubのサインインはしない
課題 次回,使用するためにWebサーバーとdbをdocker-compose.ymlとDockerfileを使って構築しましょう. WebサーバーはNGINX,データベースはMariaDBを使用してください. 初期状態 /home/user/homework01に課題で使用したdocker-compose.ymlとDockerfileが保存されている $ docker-compose up -d に失敗する 終了状態 課題の条件を達成する $ docker-compose up -dが成功する 解答提出時にエラーが発生した原因を記述する トポロジー