学習Docker 002〜イメージ〜
8152 ワード
スーパーシンプルなDockerfile
バスボックス
https://hub.docker.com/_/busybox
FROM busybox
RUN echo "building simple docker image!!!"
CMD echo "hello container"
ビルド
$ docker build -t hello .
Sending build context to Docker daemon 2.048kB
Step 1/3 : FROM busybox
latest: Pulling from library/busybox
8e674ad76dce: Pull complete
Digest: sha256:c94cf1b87ccb80f2e6414ef913c748b105060debda482058d2b8d0fce39f11b9
Status: Downloaded newer image for busybox:latest
---> e4db68de4ff2
Step 2/3 : RUN echo "building simple docker image!!!"
---> Running in 1df5fbc4c964
building simple docker image!!!
Removing intermediate container 1df5fbc4c964
---> 1ee1020b4fdc
Step 3/3 : CMD echo "hello container"
---> Running in ac28127a38e0
Removing intermediate container ac28127a38e0
---> 6a252581664b
Successfully built 6a252581664b
Successfully tagged hello:latest
イメージ
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello latest 6a252581664b 25 seconds ago 1.22MB
ランコンテナ
$ docker run --rm hello
hello container
シンプルなUbuntuイメージ
Dockerfile
FROM ubuntu:18.04
RUN apt-get update && apt-get upgrade -y && apt-get autoremove -y
RUN apt-get install vim -y
RUN apt-get install git -y
RUN apt-get install curl -y
CMD [ "git", "--version"]
$ docker build -t my_test .
$ docker run --rm -it my_test
git version 2.17.1
良いdockerfileを作成する方法
以下は安全な方法かもしれない
ステップ1
我々は良い画像を見つけることができますhttps://hub.docker.com/
ステップ2
コンテナのコマンドを実行します.我々がコマンドを試みるとき、我々は
-y
を使う必要がありますステップ3
コマンドが正常に実行された場合、注意してください.いくつかの点で、コマンドのうちの1つが我々がしたことを台無しにするならば、我々は再び痛みます.
または、より多くのコマンドを追加するイメージを作成できます.
ステップ4
Dockerfile
をテストして、修正するすべてのコマンドを書き留めてください私の作ったもの
ベース連続体/anaconda 3
ソフトウェアパッケージのインストール
Dockerfile
# base image
FROM continuumio/anaconda3:2019.03
MAINTAINER Koji Kanao <[email protected]>
RUN apt-get update && apt-get upgrade -y && apt-get autoremove -y
RUN apt-get install vim -y
RUN apt-get install git -y
RUN apt-get install curl -y
RUN apt-get install ffmpeg -y
RUN apt-get install imagemagick -y
RUN conda install pytorch torchvision cudatoolkit=9.0 -c pytorch -y
# python packages
RUN pip install --upgrade \
pip==19.1.1 \
&& pip install \
autopep8==1.4.4 \
setuptools>=41.0.0 \
opencv-python==3.4.3.18 \
opencv-contrib-python==3.4.3.18 \
Pillow \
numpy \
pandas \
scipy \
matplotlib \
h5py \
Keras==2.2.4 \
scikit-learn \
scikit-image \
six \
sklearn \
spacy \
requests \
beautifulsoup4 \
tensorflow==1.14.0
# create work dir
WORKDIR /workdir
# expose port
EXPOSE 8888
# start jupyter notebook
ENTRYPOINT ["jupyter-lab", "--ip=0.0.0.0", "--port=8888", "--no-browser", "--allow-root", "--NotebookApp.token=''"]
# set workdir as notbook dir
CMD ["--notebook-dir=/workdir"]
ビルドイメージ$ docker build -t conda_docker .
ランコンテナ$ docker run -it -p 8888:8888 --name doconda --mount type=bind,src=`pwd`,dst=/workdir conda_docker
オープンlocalhost : 8888$ ls
Dockerfile Untitled.ipynb
このコンテナは私のMacのホストにノートブックを保存することができます.ここからこのイメージを引くことができます
https://hub.docker.com/r/kojikno/conda_docker
私は、私がVirtualBoxでこのenvをつくるために2、3時間かかるので、Dockerが大きいと思います.実際に我々は時間を節約するために放浪を使用することができますが、まだそれはまだ仮想マシンを使用するので、一般的に重いとMacのファンは非常にハードのロールを動作する必要があります.私はより多くのDockerを使用すると思うが、まだ学習を維持する必要があります.特に
docker-compose
Reference
この問題について(学習Docker 002〜イメージ〜), 我々は、より多くの情報をここで見つけました https://dev.to/0xkoji/learning-docker-002-images-5debテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol