このページは WIP です。
途中ですが公開しています。
前置き
Dockerについてまだあまり知らないですが、せっかくなので他の人と共有できるようにアウトプットしてみます。
ツッコミ大歓迎です、どんどんおねがいします。
フロー
Dockerfile から
- Dockerfile を作りこむ (参考: Qiita: pottava: 効率的に安全な Dockerfile を作るには)
- Dockerfile を
build - container を
create - container を
start - container を
stop/kill - container を
rm
Docker Hub から (他のレジストリも含む)
- Docker Hub で目的のイメージを探す
- (image を
pull) - container を
create - container を
start - container を
stop/kill - container を
rm
各操作
ps
CONTAINER に入る値は docker ps で表示される CONTAINER ID または NAMES のどちらでも指定可能。
build
Dockerfile を build して image を生成する(Docker: docker build)。
docker build [OPTIONS] PATH | URL | -
例:
docker build -t sample/image:tag .
- `PATH` には Dockerfile を保存しているディレクトリへのパスを入れる。現在いる場所にある場合は `.` と入力する。
Git リポジトリや Tarball も指定可能。
- OPTIONS
- `-t`, `--tag`: リポジトリ名とタグを指定する。後から使うためにもあったほうが良い。Docker Hub に `push` するのであれば命名規則があるので注意。
- `-f`, `--file`: Dockerfileの名前を指定。(デフォルト: `PATH`/Dockerfile)
- `--force-rm`: ビルド失敗後に、生成された中間コンテナを削除するか。(true/false。デフォルト: false。)
- `--pull`: Dockerfile内のFROM句で指定したベースイメージの最新を毎回取得するか。(true/false。デフォルト: false。)
- `--no-cache`: build時にcacheを使用しないようにするか。(true/false。デフォルト: false。)
## pull
[Docker Hub](https://hub.docker.com/) などから image をローカルに `pull` する([Docker: docker pull](https://docs.docker.com/engine/reference/commandline/pull/))。
```bash
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
create
container を create する。
start
create (stop) した container を start する。
docker start [OPTIONS] CONTAINER [CONTAINER...]
- OPTIONS
-
-a,--attach: 起動と同時にコンテナへアタッチする。(アタッチのみでコマンド操作などはできない。) -
-i,--interactive: 起動と同時にコンテナへアタッチする。(インタラクティブモードとなり、継続してコマンド操作などが可能。)
-
run
create + run。私の場合は create や start を使わず run で済ませています。
stop
start や run した container を stop する。
kill
start や run した container を kill する。
rm
container を rm (削除) する。
次回
未定。
ページを公開しました: Docker入門4: 実際にDocker コンテナを建ててみる
というかこのページをもうちょっとボリューム増やします。
参考
Qiita: Gin: docker buildのオプションまとめ
Qiita: kooohei: docker startコマンド