Dockerfileでsourceコマンド使いたい
デフォルトは/bin/shなので、bashに変えてあげる
Dockerfile
FROM: xxx:latest
# bashを使うよう設定
SHELL ["/bin/bash","-c"]
# sourceコマンドが使える
RUN source ./xxx.sh
DockerfileのCOPYで上の階層を参照したい
環境
work/
├ text.txt
├ docker/
│ └ docker-compose.yml
│ └ Dockerfile
└ lib/
問題
以下でエラー発生
Dockerfile
FROM ubuntu:latest
COPY ../text.txt /home/text.txt
解決
- コンテキストをかえる。以下は例
docker-compose.yml
version: '3' services: service: build: context: ../ dockerfile: docker/Dockerfile tty: true
- Dockerfileを書き換える
Dockerfile
FROM ubuntu:latest COPY text.txt /home/text.txt
Docker Composeで他プラットフォーム用コンテナを作りたい
事前状態
PC:LinuxPC(amd64) でbuildx使ってhello-worldできている
方法
docker-composeにplatformオプション付ける
docker-compose.yml
version: '3'
services:
service:
image: hello-world
platform: linux/arm64
tty: true