
ルートとしてansibleを使用してdockerコンテナを起動します。
FROM python:3.7-alpine3.9
ENV HOME /home/someteam
RUN apk add --no-cache --virtual .build-deps python3-dev gcc linux-headers musl-dev
RUN addgroup someteam --gid=5566; \
adduser -G someteam -Du 5566 -d /home/someteam -m -s /bin/bash someteam; \
chown -R someteam $HOME
USER someteam
ADD script.sh /home/someteam/script.sh
ENTRYPOINT ["/home/envteam/script.sh"]
ローカルテストのエラーは次のとおりです。
adduser: unrecognized option: d
BusyBox v1.29.3 (2019-01-24 07:45:07 UTC) multi-call binary.
Usage: adduser [OPTIONS] USER [GROUP]
Create new user, or add USER to GROUP
-h DIR Home directory
-g GECOS GECOS field
-s SHELL Login shell
-G GRP Group
-S Create a system user
-D Don't assign a password
-H Don't create home directory
-u UID User id
-k SKEL Skeleton directory (/etc/skel)
chown: unknown user someteam
2番目のRUN
命令を実行する前に、whoami
次のようにします。root
問題は、ansibleを使用してdockerコンテナを起動すると、シェルコマンドrunがscript.sh
相対パスを使用しないことです。
- name: Run docker container from ansible
command: docker container run --rm -e SOMETHING={{somthing}} 111112223333.dkr.ecr.us-east-1.amazonaws.com/someteamteam/deploy:v1
1)
ADD
コマンドが実行されると予想されます。シェルを次に切り替えます/home/someteam
か?それともまだ必要ですか?以下で使用される冗長オプションUSER someteam
/home/someteam
WORKDIR $HOME
adduser
2)
私たちは指示する必要がありますかchown
?