Docker CLIを直接使用する

投稿日: 2024年7月11日

Docker Desktopを使わずにDockerを利用する方法はあります。Linux系のディストリビューションから直接Dockerを使用する方法になります。
ここではUbuntuになりますが、Debianでも同じことができます。

UbuntuでDocker

1.Ubuntuを起動
2.必要なパッケージのインストール

まず、必要なパッケージをインストールします。

sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
3.Docker公式GPGキーの追加

次に、Dockerの公式GPGキーを追加します。

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
4.Dockerリポジトリの追加

DockerリポジトリをAPTソースに追加します。
途中で「Press [ENTER] to continue or Ctrl-c to cancel.」で確認されます[ENTER]でリポジトリが追加されます。

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
5.Dockerのインストール

リポジトリを更新し、Dockerをインストールします。

sudo apt update
sudo apt install -y docker-ce
6.Dockerサービスの起動と自動起動設定

Dockerサービスを起動し、自動起動を設定します。

sudo service docker start
sudo systemctl enable docker
7.Dockerグループにユーザーを追加

現在のユーザーをdockerグループに追加します。

sudo usermod -aG docker $USER

この後、変更を反映するために再起動をしてください。
再起動後は画面が閉じますので再びUbuntuを起動してください。

sudo shutdown -r now
8.Docker Composeのインストール

Docker Composeをインストールします。

sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
9.インストール確認

最後に、DockerとDocker Composeのインストールが正しく行われたか確認します。

docker --version
docker-compose --version

Docker Compose YAMLファイルの作成手順

Docker ComposeのYAMLファイルを構築する方法について説明します。
以下のYAML設定は、MySQLとphpMyAdminのサービスを含む基本的な構成例です。

1.プロジェクトディレクトリの作成:

プロジェクトのディレクトリを作成し、そこに移動します。
mkdirはフォルダ作成のコマンドです。次のCDはディレクトリに移動します。

mkdir my_project
cd my_project
2.Docker Composeファイルの作成

nanoエディタでcompose.yamlという名前のファイルを作成します。

nano compose.yaml

nanoエディタが起動したら、以下の内容をコピーして貼り付けます。

services:
  mysql:
    image: mysql:8.0 # イメージの名前
    volumes:
      - db-data:/var/lib/mysql  #初期データをマウントする場所
    environment:
      MYSQL_ROOT_PASSWORD: rootpass   #コンテナ内のMySQLを起動する際のパスワードを設定
      MYSQL_DATABASE: purchasing_management
      MYSQL_USER: testuser
      MYSQL_PASSWORD: testpass
      TZ: 'Asia/Tokyo'
    ports:
      - "3314:3306"
  phpmyadmin:
    image: phpmyadmin:5.2
    depends_on:
      - mysql
    environment:
      PMA_HOST: mysql
      PMA_USER: root
      PMA_PASSWORD: rootpass
      MEMORY_LIMIT: 128M
      UPLOAD_LIMIT: 64M
    ports:
      - "8014:80"
    volumes:
      - phpmyadmin-data:/sessions
volumes:
  db-data:
  phpmyadmin-data:
3.Docker Composeの起動

compose.yamlファイルがあるディレクトリで以下のコマンドを実行して、サービスを起動します。

docker-compose up -d

上手く完了しない場合はPCの再起動をお願いします。
完了後は「http://localhost:8014/」でphpmyadminが起動できます。これでMySQLが使えるようになります。

Docker CLIのコマンド

サービスの確認
docker-compose up -d
サービスの確認
docker-compose ps
サービスの停止方法

実行中のサービスコンテナを停止するためのコマンドです。

# 全てのサービスコンテナを停止
docker-compose stop
# 特定のサービスコンテナのみを停止
docker-compose stop <service_name>
停止→削除方法

サービスの停止からのコンテナの削除とネットワークの削除コマンド(作って不要になった場合のリソースをクリーンに保つことができます。)

 docker-compose down

Docker Desktopを使わずにDockerを利用するためには、直接Docker CLIをインストールして使用する方法以外にも、Podmanなどの代替ツールを利用する方法があります。利用環境やニーズに応じて、最適な方法を選択してください。

記事