さくらVPSでmariaDB + nginxをDockerで

なぜDockerなのか

試行錯誤したいからです。

構成

OS:Ubuntu 20.04
スクリプト:Setup and update
 ー初回起動時にパッケージ更新する:する
 ー日本語環境 ja_JP.UTF-8 に変更する:する

準備

アップデートなどしていきます。

sudo apt update
sudo apt upgrade

Docker

sudo apt docker.io

Docker-compose

sudo apt docker-compose

docker-compose.yml

太字部分は適宜、変更してください。
特にmariaDBは、ポート番号を変更してください。
バージョンを固定する必要ないならlatestとかでも大丈夫じゃないでしょうか。(試してない)
できればstable(安定版)にすることをおすすめします。

version: '3'

services:
  db:
    image: mariadb:11.0.2
    environment:
      MYSQL_ROOT_PASSWORD: Password
    ports:
      - '3306:3306'
    command: --default-authentication-plugin=mysql_native_password
    volumes:
      - ./mysql/data:/var/lib/mysql
  web:
    image: nginx:1.24.0
    volumes:
      - ./nginx/templates:/etc/nginx/templates
    ports:
      - "8080:80"
    environment:
      - NGINX_HOST=www.domain.net
      - NGINX_PORT=80

アクセス

パケットフィルタリングを有効にしている場合は通すようにしましょう。
mariaDBのユーザIDとパスワードは、上記のymlの設定ならroot/Passwordです。

当然ながら、外部からアクセスする場合にはドメインが必要になります。
(もしくはIPアドレス指定ですかね)

まとめ

とりあえず、アクセスできることだけ確認しました。
アプリの実装やデプロイ自動化などについては、また今度。