2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Dockerの初期設定と操作メモ

Last updated at Posted at 2021-07-22

GCAにアプリをデプロイするのに必要なDocfile
それの書き方を理解するためにDockerを触ったので記録してきます。

私の環境はWindows10です。
Docker自体はWindowsの場合は64bitでないと動かないので注意ください。

環境設定

インストール画面で下記がでますが、
WSL2はWindowsでLinuxを動かすツールで
Dokcerの開発に必要なのでチェックをつけておきましょう。

2021-07-11_15h23_24.png

再起動するとまだWSL2がインストールされていないと表示されるので、
リンクからx64 マシン用 WSL2 Linux カーネル更新プログラム パッケージをクリックしてインストールをします。

2021-07-11_15h28_51.png

インストールが終わったらRestartボタンをクリックしてDockerが開けるようになっています。

先ほどWSL2をインストールした画面で手順4までが完了しているので、
ドキュメントの手順5,6を実行していきます。

powershellで下記コマンドを実行してデフォルトのバージョンを設定

wsl --set-default-version 2

その後、Microsoft StoreでUbuntuのインストールとユーザー、PW設定を行います。

終わったら右下のDockerのアイコンを右クリック ⇒ settingsで
Ubuntuのボタンにチェックをつけます。

2021-07-11_15h48_46.png

先程開いたUbuntuのターミナルで下記コマンドを実行し、dockerのバージョンが確認できたら設定完了です。

docker --version

VSCodeで実行する場合は
Ctrl + Shift + Pを押して、
create new integrated terminalをクリックします。

ターミナルの種類でUbuntu(WSL)を選択して同じくdockerのバージョンが確認できるか確認しましょう。

2021-07-24_08h15_55.png

Ubuntuのターミナルで実行してもよいですが、
VSCodeだけ開いて操作できたほうが楽でよいと思います。

コマンド

よく使用するコマンドです。
基本的にはDockerfileをおいているディレクトリで実行します。

作成時

# Dockerfileでイメージの作成、tオプションでイメージ名とタグを指定可能
docker image build [-t image_name[:tag_name]] .

# イメージ名からコンテナ作成実行(image pull, container create, container start)をまとめたもの
docker container run [option] image_name
# オプション例
docker container run -d -p 8000:8080 --name container_name -v ${PWD}/src:/src image_name

オプションについてdocker-compose.ymlファイルを作成したらその中で記載が可能です。

docker-compose.ymlで使用
# docker-compose.ymlでimage build, container create, container startの動作が行われる
# imageが作成されていたらimege buildは行われない
docker compose up -d

# イメージの作成
docker compose build

# コンテナを作成してコマンド実行
docker-compose run [コンテナ名] [コマンド]

# 起動中のコンテナでコマンド実行
docker-compose exec [コンテナ名] [コマンド]

# コンテナの終了
dokcer compose down

オプション

オプション | 実行内容

  • | -
    --name コンテナ名 | コンテナ名の指定
    -p ホストのポート番号:コンテナのポート番号| ポート番号の指定
    -v ホストのディレクトリ:コンテナのディレクトリ|ボリュームのマウント
    --net=ネットワーク名|コンテナをネットワークに接続
    -e 環境変数名=名前|環境変数を指定
    -d|バックグラウンド(detach)で実行
    -i|コンテナに操作端末(キーボード)をつなぐ(interactive)
    -t|特殊キーを使用可能にする(tty)
    --help|ヘルプを参照

削除コマンド

よく使いそうなコマンドです。

削除コマンド
# コンテナの確認
docker ps [-a]
dokcer container list [-a]

# コンテナを止める
docker compose stop
docker container stop container_name

# 動いていないコンテナ、イメージ、ネットワークを削除
docker system prune -a

他の一括削除についてはこちらを参考にさせていただいています。
https://qiita.com/reflet/items/5caa88abcf1e8964783a

system pruneでVolumeは削除されない?確認必要

error

[internal] load metadata for docker.io/library/python:3

このエラーがで出た場合はこちらの記事を参考に変更したら動きました。

Dockerで作成した環境

JupyterLab環境

Streamlit環境

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?