Docker基礎
Dockerの理解の9割方は、Linuxの理解が求められる。
念の為、バージョンを確認。
docker -v
DockerHubにログイン
docker login
dockerを立ち上げるには、docker Desctopを起動、または以下のコマンドから。
◇起動コマンド
open -a Docker
◇終了コマンド
osascript -e 'quit app "Docker"'
■基本コマンド
◇docker run
イメージからコンテナを起動するコマンド
docker run hello-world # 動作させるコマンドに名前がつけられるつけられる docker run --name テストの名前 # 一度きり実行でpsに残らない場合のやり方 docker run --name テストの名前 --rm hello-world # 「centOS8(最新版のセントOS)をmycentosという名前でrunしますよ。それはbashコマンド(ターミナルで普段使っているコマンドのこと)で動きますよ」って命令を指す docker run -it --name mycentos centos:8 /bin/bash
◇イメージの取得
イメージを取得することが可能
docker pull 'image名:オプション' # latestを指定すると、最新versionのイメージが取得されます。 docker pull ubuntu:latest
◇取得したイメージを確認
docker images
◇コンテナidを調べる
docker ps # 「完全に」調べる docker ps -a
◇停止
# 該当のコンテナをストップ(停止)しますという命令 docker stop イメージ名またはコンテナID
◇起動
# 「mycentos」をスタート(起動)しますという命令 docker start mycentos
◇再起動
docker restart イメージ名またはコンテナID
◇削除
# コンテナ削除 docker rm -f コンテナID # イメージ削除 docker rmi イメージ名 # コンテナの強制削除 docker rm -f コンテナ名 # コンテナもイメージも全てまるッと削除 docker system prune -a
削除は必ず「停止」した後で。
コンテナ(実体)を削除してから、イメージ(設計図)を削除。
コンテナの起動を止める→コンテナを削除→イメージを削除
◇コマンドの実行
rubyとかpythonとか、利用中の言語のコマンドを利用するのに便利。
docker container exec webrick ruby -v # 起動中のコンテナへ移動 docker exec -it コンテナ名 /bin/bash #コンテナ内に入らず、コンテナのcentosのredhatのバージョンを調べる docker exec mycentos cat /etc/redhat-release
参考URL:docker exec
■基本の動作手順
- イメージの作成
- イメージからコンテナを作成し、起動させる
- コンテナの停止
- コンテナの削除
- イメージの削除
※手順を間違えると、困難なバグが発生する時がある
ターミナルできちんと「exit」して稼働中のものは終わらせること。
無視して✖️印をクリックしてターミナルを終了させたら、コンテイナーが全て消えた。。。
■基礎チュートリアル
docker run --name repo alpine/git clone https://github.com/docker/getting-started.git docker cp repo:/git/getting-started/ . cd getting-started docker build -t docker101tutorial .
docker run -d -p 80:80 --name docker-tutorial docker101tutorial
You must be signed in to Docker Hub to share your image.
docker run -d -p 80:80 docker/getting-started >>1 文字のフラグを組み合わせて、完全なコマンドを短縮できます。例として、上記のコマンドは次のように記述できます。 docker run -dp 80:80 docker/getting-started
<参考URL>