- Windows 11
- Git Bash
- Virtualbox
- Vagrant
- Docker CE
- WordPress
[Git Bash]
$ mkdir wpvm
$ cd wpvm
$ vagrant init bento/ubuntu-22.04
$ vim Vagrantfile
----
#config.vm.network "private_network", ip: "192.168.33.10"
config.vm.network "private_network", ip: "192.168.56.10" # 自PCの環境に合わせて適切に書き換える
----
$ vagrant up
$ vagrant ssh
[VM内]
OSバージョン確認
$ cat /etc/lsb-release
⇒ バージョン 22.04
dockerバージョン確認
$ sudo apt info docker
⇒ バージョン 1.5-2 は古い
dockerリポジトリを最新化
$ sudo apt-get update
$ sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
$ 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
$ cat /etc/apt/sources.list.d/docker.list
$ sudo apt-get update
docker ceのバージョン確認
$ sudo apt info docker-ce
dockerのインストール
$ sudo apt-get install docker-ce docker-ce-cli docker-compose containerd.io docker-compose-plugin
$ sudo docker version
⇒バージョン 20.10.16
$ docker version
⇒ 一般ユーザーでの操作だとパーミッションエラー
dockerグループにvagrantユーザーを加える
$ sudo usermod -aG docker vagrant
$ exit
[Git Bash]
$ vagrant ssh
[VM内]
$ docker version
⇒ パーミッションエラーなし
$ mkdir wp
$ cd wp
$ vim docker-compose.yml
----
version: '3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
volumes:
db_data:
----
$ docker container ls
起動
$ docker-compose up -d
$ docker container ls
ブラウザで以下にアクセス
http://192.168.56.10:8000
停止
$ docker-compose stop
$ docker container ls
⇒起動中のものはなくなっている
$ docker container ls -a
⇒CONTAINER ID を確認する
お掃除
$ docker container rm