Dockerでよく使うコマンド一覧

自分用のメモ。

Dockerイメージ関連のコマンド

説明 コマンド 備考
イメージの一覧を表示する docker image ls
特定のイメージを削除する docker image rm
未使用のイメージをすべて削除する docker image prune docker image ls したときにになっているイメージが削除される

Dockerコンテナ関連のコマンド

説明 コマンド 備考
コンテナの一覧を表示する docker container -a
特定のコンテナを削除する docker container rm
停止しているコンテナをすべて削除する docker container prune

Dockerボリューム関連のコマンド

説明 コマンド 備考
ボリュームの一覧を表示する docker volume ls
特定のボリュームを削除する docker volume rm
未使用のボリュームをすべて削除する docker volume prune

参考

Docker コマンドチートシート #docker-compose - Qiita

Ubuntu 22.04でLaravel SailとLaravel Breezeを使ってLaravel開発環境を構築する

Laravel開発環境を構築する選択肢はいくつかあるが、ここではLaravel SailとLaravel Breezeを使ってLaravel開発環境を構築する。

Laravel Sailは、Laravel開発で使うDockerイメージ群(laravel, mysql, redisなどなど)をまとめて管理してくれるラッパー。Sailが起動するDockerイメージのなかでLaravelが動作する。

Laravel Breezeは、フロントエンドやテストのフレームワーク等々を初期設定してくれる便利屋。

手順

次のドキュメントを参照して、環境構築する。

Docker Desktopのインストール

Laravel SailがDocker Composeを使うので、Docker Desktopをインストールする。Docker Engine + Docker Composeなどの個別インストールでもいけるかもしれないが、Dockerに詳しくないのであれば全部入りのDocker Desktopをインストールしてしまった方がたぶんラク

KVM関連の設定

次のURLに記載されているとおり、以下の各コマンドでエラーがでないことをチェックする。

$ modprobe kvm

$ modprobe kvm_intel  # in case of Intel processors
$ modprobe kvm_amd    # in case of AMD processors

$ kvm-ok

$ lsmod | grep kvm

$ ls -al /dev/kvm

続いて、KVMのユーザグループに自分のアカウントを追加する。

$ sudo usermod -aG kvm $USER

Docker Desktopのインストール

次のURLに記載されているとおり、aptを使ってDocker Desktopをインストールする。なお、.debファイルは次のURL内にDownloadリンクがある。

$ sudo apt-get update
$ sudo apt-get install ./docker-desktop-<arch>.deb

aptでのインストール完了後、UbuntuのApplication LauncherからDocker Desktopを起動し、使用に際してのTerms & ConditionsをAcceptする。(Docker Desktopの使用プランなども必要に応じて選択)

以下の各コマンドが成功すれば、Docker Desktopのインストール成功。

$ docker compose version
$ docker --version
$ docker version

Laravel Sailの環境構築

Dockerのコンテキストの切り替え

Dockerのコンテキストをデフォルトに切り替える。Dockerに詳しくないと意味不明だが、とりあえずおまじないだと思って実行する。

$ docker context use default

なお、次のコマンドでコンテキストについて確認できる。

$ docker context list

Laravel Sailのダウンロード&初期設定

Laravel Sailのダウンロード&初期設定スクリプトを実行する。以下の例だと、example-appという名前のアプリケーションになる。

$ curl -s https://laravel.build/example-app | bash

Laravel Sailの起動

example-appディレクトリに移動し、sail upする。example-app/docker-compose.ymlの内容にしたがって、dockerイメージが起動する。

$ cd example-app
$ ./vendor/bin/sail up

sail upを実行したターミナルはLaravelのDockerイメージを実行するため、帰ってこない。その状態でほかのターミナルを開き、sail artisan migrateする。

$ cd example-app
$ ./vendor/bin/sail artisan migrate

migrate完了後、http://localhost/にアクセスし、以下のようなLaravelの初期画面が表示されていれば、Laravel Sailの環境構築は完了。

Laravel Sailを停止させるには、sail upしたターミナルでCtrl + CすればOK。

./vendor/bin/sailについて補足

./vendor/bin/sail は、そのあとに続くコマンド(php, artisan, composerなど)をLaravelのDockerイメージ内で実行してくれる。例えば、次のコマンドはLaravelのDockerイメージ内でのphp artisan listの出力結果を表示する。

$ ./vendor/bin/sail php artisan list

そのほか、以下のコマンドでLaravelのDockerイメージ内にある各種バイナリのバージョンを確認できる。

$ ./vendor/bin/sail php --version
$ ./vendor/bin/sail composer --version
$ ./vendor/bin/sail npm --version

sailコマンドについて参考:https://laravel.com/docs/11.x/sail#executing-sail-commands

Laravel Breezeの環境構築

Laravel Sailを動かし(=sail upし)た状態で、Laravel Breezeを設定する。

$ cd example-app
$ ./vendor/bin/sail composer require laravel/breeze --dev

続いて、Laravel Breezeをインストールする。このとき、どのフィーチャー(フロントエンドやテストのフレームワークの種類など)を使いたいか尋ねられるので、自身の必要に応じて設定する。

$ ./vendor/bin/sail php artisan breeze:install

上記のインストール完了後、http://localhost/にアクセスし、Laravelの初期画面 + Laravel Breezeが追加した「Login」「Register」のリンクが表示されていれば、Laravel Breezeの環境構築は完了。

Ubuntu 22.04 にSambaをインストールしWindowsからアクセスする

やりたいこと

  • Ubuntuをファイルサーバーにする
  • Windowsからファイルサーバーにアクセスする(Ubuntuで普段使っているユーザアカウントを使ってアクセス制御する)

Ubuntu側でやること

Sambaのインストール

sudo apt install samba

Sambaの設定ファイルの編集

cd /etc/samba/
sudo cp smb.conf smb.conf.org
sudo vim smb.conf

smb.confに追記する内容

[shared]
comment = ubuntu22.04 share
path = /mnt/HDD500GB/shared
browsable = no
guest ok = no
writable = yes
create mode = 0664
directory mode = 0775
  • comment: エクスプローラーなどでmouse hoverすると表示されるコメント
  • path: ファイルサーバーで共有したいパス
  • browsable: ネットワーク上で丸見えにしたいか(noだと、\192.168.137.10\では何も見えず、\192.168.137.10\sharedのようにフルパス指定が必要)
  • guest ok: ゲストアクセスを許可するか
  • writable: 書き込みを許可するか
  • create mode: ファイル作成時のパーミッション
  • directory mode = ディレクトリ作成時のパーミッション

Sambaのパスワードの設定

sudo smbpasswd -a my_account_name

"my_accout_name"は適宜変更する。

Sambaの再起動

sudo systemctl restart smbd

Windows側でやること

Sambaにアクセスできるように設定

  1. Win + R で、gpedit.mscを実行する
  2. 「コンピュータの構成」 → 「管理用テンプレート」 → 「ネットワーク」 → 「Lanmanワークステーション」 → 「安全でないゲストログインを有効にする」 を有効にする
  3. Windowsを再起動

Sambaにアクセスする

  1. Windowsエクスプローラーで、「\192.168.137.10\shared」にアクセスする。
  2. ユーザアカウントとパスワードを聞かれるので、smbpasswdで設定したユーザアカウントとパスワードを入力する。

"192.168.137.10"は適宜変更する。

参考