WAHT私が今やっている:ドッカー - 更新されたイメージを再構築してドッカークラウドにプッシュする適切な方法は何ですか?
Dockerfile:
FROM python:3.5.1
ENV PYTHONUNBUFFERED 1
RUN mkdir /www
WORKDIR /www
ADD deps.txt /www/
RUN pip3 install -r deps.txt
ADD . /www/
RUN chmod 0755 /www/docker-init.sh
ビルドコマンド:
docker build -t my-djnago-app:latest .
タグ付け:
docker tag my-djnago-app:latest lolorama/my-djnago-app-img:latest
挑む:
docker push lolorama/my-djnago-app-img:latest
これらの手順の後、リポジトリイメージは更新されていません。私はいつも「層はすでに存在する」というメッセージを得る。
The push refers to a repository [docker.io/lolorama/my-django-app-img]
fd5aa641b308: Layer already exists
d9c60c6f98e8: Layer already exists
d9d14867f6d7: Layer already exists
64ce166099ca: Layer already exists
73b670e35c69: Layer already exists
5f70bf18a086: Layer already exists
9ea142d097a5: Layer already exists
52f5845b1de0: Layer already exists
e7fadb3ab9d4: Layer already exists
cef72744de05: Layer already exists
591569fa6c34: Layer already exists
998608e2fcd4: Layer already exists
c12ecfd4861d: Layer already exists
私は間違っていますか?
ドッカーファイルで何か変更しましたか?そうしないと、ドッカーのビルドによって同じイメージが再構築されます(すべてが存在するため、非常に高速になります)。同じ画像をプッシュすると、レポは必要なレイヤーがすべて存在することを検出して何かを変更します。 – lvthillo
@ lorenzvth7 Dockerfileは変更されませんでした。私は 'ADDでインポートするアプリケーションコードを変更しました。/www/' –
www /フォルダ内のコードを変更した後に画像を再構築しましたか?それは必要なのだから。その後、新しいイメージにタグを付けてプッシュする必要があります。 – lvthillo