imageの作成

pullでイメージを取得する場合

python2系のイメージをpullする

$ sudo docker pull python:2

build系

Dockerfileを元にイメージを作成する

Dockerfileを作成

python2系をインストールするだけのDockerfileを作成

FROM python:2

Dockerfileからimageをbuildする

$ sudo docker build [ -t {イメージ名} [ :{タグ名} ] ] {Dockerfileのあるディレクトリ}

e.g.)

$ sudo docker build -t sample-project/python:1.0 ./sample-app

run系

コンテナを起動する

$ sudo docker run --name {コンテナ名} -it {image名} /bin/bash

e.g.)

$ sudo docker run --name python-sample -it sample-project/python:1.0 /bin/bash

コンテナを起動、exitと同時にコンテナを削除する

$ sudo docker run --rm --name python-sample -it sample-project/python:1.0 /bin/bash

バックグラウンドで実行する

$ sudo docker run --name python-sample -it -d sample-project/python:1.0 /bin/bash

ホストOSの領域をマウントする

$ sudo docker run --name python-sample \
        -v /home/user/sample-app:/opt/sample-app \
        -it -d sample-project/python:1.0 /bin/bash

ホストOSのssh keyをfowardingして、コンテナ内で使う方法

コンテナを起動する時に、$SSH_AUTH_SOCKをマウントする

$ sudo docker run --name python-sample \
        -v ${SSH_AUTH_SOCK}:/ssh-agent \
        -e SSH_AUTH_SOCK=/ssh-agent \
        -v /home/user/sample-app:/opt/sample-app \
        -it -d sample-project/python:1.0 /bin/bash

実行中のコンテナを確認する

$ sudo docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
f689dd43a0d3        sample-project/python:1.0    "/bin/bash"         4 seconds ago       Up 4 seconds                            python-sample

コンテナに入る

$ sudo docker exec -it f689dd43a0d3 bash
root@f689dd43a0d3:/#

コンテナを指定してホストOS上でコマンドを実行する

$ docker exec -it f689dd43a0d3 python --version
Python 2.7.15
$ docker exec -it f689dd43a0d3 which pip
/usr/local/bin/pip

コンテナを削除する

$ sudo docker rm -f f689dd43a0d3

image一覧

$ sudo dokcer images

imageを削除する

$ sudo docker rmi d69bc9d9b016

参考

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.