docker pull イメージ名[:タグ|@イメージのハッシュ値]
例)
docker pull centos:centos7 docker pull amazonlinux:2
docker rm コンテナID
docker build ./ -t イメージ名[:タグ]
docker image
docker rmi イメージID
docker run -it イメージ名[:タグ]
docker run -d イメージ名[:タグ]
docker run -p 仮想サーバーのポート:コンテナのポート -d イメージ名[:タグ]
docker exec -it コンテナID /bin/bash
docker run -it --rm イメージID /bin/bash
例)
docker run -it --rm amazonlinux:2 /bin/bash docker run -it --rm centos:centos7 /bin/bash
docker run -v ホスト側の絶対パス:コンテナの絶対パス イメージ名ID
docker ps
docker ps -a
docker inspect コンテナID
docker container stop コンテナID
docker exec -it や docker run -it でコンテナに入って作業した状態をイメージとして残しておきたい場合は、docker commit が使用できる。
※既に停止したコンテナからイメージを作成する事も可能。
docker commit コンテナID イメージ名:タグ
# コンテナからホスト側にコピー docker cp コンテナID:/path_to/sample.txt sample.txt # ホスト側からコンテナにコピー docker cp sample.txt コンテナID:/path_to/sample.txt
ここではサンプルとして1秒毎にカウント表示するシェルを起動するコンテナイメージを作成する
FROM amazonlinux:2 #FROM centos:centos7 USER root RUN yum install -y which # amazonlinux2の時 # psコマンドインストール RUN yum -y install procps RUN yum install -y python3 # centos7の時 # ※IUS Community Project のリポジトリを追加する(Python3系はCentOS 7の標準yumリポジトリで提供されていない) #RUN yum install -y https://centos7.iuscommunity.org/ius-release.rpm #RUN yum install -y python36 RUN mkdir /myapp COPY myapp.sh /myapp/ RUN chmod 755 /myapp/*.sh CMD ["/myapp/myapp.sh"]
myapp.sh
#!/bin/bash i=0 while [ true ]; do i=`expr ${i} + 1` echo "i = ${i}" sleep 1 done
docker build ./ -t myapp:latest
docker images