作業ログを記事として残しておきます。
環境
Ubuntuのバージョン22.04
パッケージのインストール
sudo apt update
sudo apt install ca-certificates curl gnupg lsb-release
GPG鍵を追加
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Dockerのリポジトリを追加
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Docker Engineのインストール
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
動作確認
sudo docker run hello-world
# Unable to find image 'hello-world:latest' locally
# latest: Pulling from library/hello-world
# e6590344b1a5: Pull complete
# Digest: sha256:7e1a4e2d11e2ac7a8c3f768d4166c2defeb09d2a750b010412b6ea13de1efb19
# Status: Downloaded newer image for hello-world:latest
#
# Hello from Docker! ⇐ 実行結果
Hello from Docker!のメッセージが表示されたので成功したようです。
Dockerサービスを開始とユーザー登録
sudo service docker start
sudo usermod -aG docker ユーザー名
wslを再起動しsudo無しでバージョンが取得できることを確認
docker --version
# Docker version 28.0.1, build 068a01e ⇐ 実行結果
移行sudoなしでdockerの操作が出来るはず。
Docker Hubからイメージのダウンロード
Ubuntu 22.04をダウンロード
docker pull ubuntu:22.04
# 22.04: Pulling from library/ubuntu
# 9cb31e2e37ea: Pull complete
# Digest: sha256:ed1544e454989078f5dec1bfdabd8c5cc9c48e0705d07b678ab6ae3fb61952d2
# Status: Downloaded newer image for ubuntu:22.04
# docker.io/library/ubuntu:22.04
イメージの確認
docker images
# REPOSITORY TAG IMAGE ID CREATED SIZE
# ubuntu 22.04 a24be041d957 6 weeks ago 77.9MB
# hello-world latest 74cc54e27dc4 7 weeks ago 10.1kB
新しいコンテナを作成し起動
docker run -it ubuntu:22.04 /bin/bash
# root@4ac233348cfe:/#
ルートでログインしている。
exit
でログアウト
一般ユーザーを追加すると普通に使えるようです。ただユーザーを追加などの情報はコンテナレイヤー内でのみ保存されている
とのこと。コンテナを停止削除すると、情報は失われるらしいです。
コンテナの削除:docker rm コンテナID
イメージとしてコミットする方法もあるらしい。
コンテナの変更をイメージにコミット:docker commit コンテナID
このあたりがコンテナ型なんでしょうか今一つ理解が出来ていません。使いながら学びたいと思います。
コンテナIDを指定してコンテナを起動し接続
# 既存のコンテナを起動
docker start コンテナID
# 起動したコンテナに接続
docker attach コンテナID
これで先ほど作成したubuntuに再度ログイン出来ました。
コンテナの確認
起動中のコンテナ
docker ps
# CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
# 4c220e07e5b0 ubuntu:22.04 "/bin/bash" 14 seconds ago Up 13 seconds competent_ardinghelli
停止中のコンテナ含む
docker ps -a
# CONTAINER ID IMAGE COMMAND CREATED # STATUS PORTS NAMES
4ac233348cfe ubuntu:22.04 "/bin/bash" About a minute ago Exited (0) 40 seconds ago admiring_shannon
# 70d00496ab08 hello-world "/hello" 11 minutes ago Exited (0) 11 minutes ago keen_franklin
コンテナの停止
docker stop 4c220e07e5b0 # コンテナID
# 4c220e07e5b0
docker ps
で停止していることを確認
コンテナの削除
docker rme5b0 # コンテナID
コンテナ名の変更
コンテナIDの代わりにコンテナ名が使えます。
コンテナ名の確認はdocker ps -a
のNAMES項目で確認できます。
コンテナ名を変更する場合は以下のコマンドを実行
docker rename 変更元のコンテナ名 変更先コンテナ名
感想
とりあえずコンテナが起動することは確認できました。
Docker的な使い方はこれから少しずつ学んで行きたいと思います。
コメント