バーr……blog のようなもの 2023 年 07 月

07 月 29日 ( 土 )

Docker を使い始めてみた

表題の通り Docker を使い始めたのでそのメモ。

自分の Docker の使用ルーティングは以下の感じ。例として Go 言語の開発環境を構築して利用する場合を考える。

  1. docker pull golang:version
    Docker Hub 上の Go 言語 Docker イメージを取得する。必要に応じて version タグを利用する。
  2. docker images
    PC 内の Docker イメージのリストを表示。
  3. docker run -d -it --name mygolang <Image ID>
    2 の "docker Image" で得られた "Image ID" で docker コンテナを生成して実行する。生成と実行の条件は以下による。
    • -name : コンテナ名を mygolang とする
    • -d : コンテナをバックグラウンドで実行する
    • -it : ホストから コンテナ内の標準入出力にアクセス可能な状態にする
  4. docker exec -ti mygolang bash
    3 で生成され実行されている mygolang コンテナに接続して bash を実行する
    コンテナの生成さえされればいいので、コンテナが生成されていれば不要なのかも ( 要確認 )
  5. docker stop mygolang
    コンテナ mygolang を停止する
  6. docker container start -ai mygolang
    コンテナ mygolang を起動し標準入出力、標準エラー出力にアタッチする
    シェルが root 権限で起動するので以下のようなことをする
    • 作業用ユーザを追加
    • 作業用ユーザのパスワードを設定
    • git や tmux 等、必要と思われるパッケージを apt で入れる
    • vim 環境の整備
    • 開発作業
    • etc...
    5 までの手順でコンテナができれば、後は 6 を繰り返す
    コンテナのシェルから exit すればコンテナは停止する

ホスト環境とのファイルやディレクトリのやり取りで最も簡便なのは "docker cp" を使う方法。rcp コマンドのように使う。詳しくは "docker cp --help" を参照。

ホストのディレクトリやファイルを共有する方法もあるみたいだけどまだ調べてない。