ラベル Docker の投稿を表示しています。 すべての投稿を表示
ラベル Docker の投稿を表示しています。 すべての投稿を表示

2024年10月20日日曜日

Ubuntu 24.04上のDockerにgitlabをインストールする

1. Dockerのインストール(SNAP版)
※dockerをインストールしていない場合は、以下のコマンドでインストールします。
sudo addgroup --system docker

sudo adduser $USER docker

sudo snap install docker
テスト実行
docker run hello-world

2. gitlabのインストール
※gitlabのデータを保持するディレクトリ。適宜変更してください
export GITLAB_HOME=/mnt/usbhdd/gitlab

ホストのIPアドレスが192.168.1.111で、ポートを443->30443, 80->30080, 22->30020に変更した場合の実行例
docker run --detach \
   --hostname 192.168.1.111 \
   --env GITLAB_OMNIBUS_CONFIG="external_url 'http://192.168.1.111'" \
   --publish 30443:443 --publish 30080:80 --publish 30022:22 \
   --name gitlab \
   --restart always \
   --volume $GITLAB_HOME/config:/etc/gitlab \
   --volume $GITLAB_HOME/logs:/var/log/gitlab \
   --volume $GITLAB_HOME/data:/var/opt/gitlab \
   --shm-size 256m \
   gitlab/gitlab-ee:17.4.2-ee.0

初回起動はかなり時間がかかります。以下のコマンドで初回ログイン時のrootユーザのパスワードを表示します。
sudo docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password
24Hでパスワードは無効になるので、それまでにログインしてパスワードを変更しておきます。

2022年6月18日土曜日

Ubuntu 22.04にDockerをインストールする

Ubuntu 22.04にDocker/Docker Composeをインストールするには、以下の手順を実行します。

インストール手順

1. 古いDockerをuninstall
sudo apt-get -y remove docker docker-engine docker.io containerd runc

2. リポジトリインストール
sudo apt-get update

sudo apt-get -y install ca-certificates curl gnupg lsb-release

sudo mkdir -p /etc/apt/keyrings

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

3. Docker Engineのインストール
sudo apt-get update

sudo apt-get -y install docker-ce docker-ce-cli containerd.io docker-compose-plugin

4. sudo無しでdockerを利用できるようにする
sudo adduser $USER docker
※いったんログアウトします。以下でバージョンを確認します。
docker version

docker compose version

5. 動作確認
docker run hello-world

2022年3月14日月曜日

Dockerでpg_dumpをインストールしたイメージ(Alpine3.15ベース)を作成してバックアップを行う

Dockerでpg_dumpをインストールしたイメージ(Alpine3.15ベース)を作成してバックアップを行うには、以下の手順を実行します。バックアップの取得と同時に圧縮も行います。

実行手順

1. 以下のDockerfileを使用してPostgreSQLのpg_dumpをインストールしたイメージを作成します。
Dockerfile
FROM alpine:3.15
RUN apk --no-cache add postgresql-client \
  && mkdir /data
WORKDIR /data
VOLUME ["/data"]
ENV PG_HOST=localhost \
  PG_USER=postgres \
  PGPASSWORD=postgres \
  PG_DB=postgres \
  PG_PORT=5432 \
  BASENAME=backup \
  POSTFIX=_
CMD ["/bin/sh", "-c", "/usr/bin/pg_dump -h ${PG_HOST} -p ${PG_PORT} -U ${PG_USER} ${PG_DB}  | gzip > /data/${BASENAME}${POSTFIX}.dmp.gz"]

・イメージビルド用コマンド
docker build --no-cache -t mypgdump .

2. 以下のコマンドでコンテナ内のpg_dumpコマンドを実行します。
適宜、環境変数を変更してください。
docker run --rm -it -e PGPASSWORD=mypostgres -e PG_HOST=myhost -e PG_PORT=5432 -e PG_USER=postgres -e PG_DB=mydb -e BASENAME=backup -e POSTFIX=`/bin/date '+%Y%m%d-%H%M'` -v `pwd`:/data mypgdump

関連情報

・KubernetesでCronJobとして動作させる場合は、以下のページを参照してください。
Microk8sでCronJobを使用してPostgreSQLのバックアップを行う

2022年3月11日金曜日

Microk8sでCronJobを使用してPostgreSQLのバックアップを行う

Microk8sでCronJobを使用してPostgreSQLのバックアップを行うには、以下の手順を実行します。バックアップの取得と同時に圧縮も行います。バックアップファイルは指定した永続ボリュームに保存します。

作成手順

1. ビルトインレジストリの有効化(※既に実施している場合はスキップしてください)
Microk8sがインストールされているホスト上で以下のコマンドを実行します。
microk8s enable registry:size=50Gi
※registryプラグインが有効化してあるか不明な場合はmicrok8s statusコマンドを実行します。

Dockerがインストールしてあるリモートマシン上で以下のコマンドを実行します。192.168.1.1の部分は、Microk8sのホストのIPに変更してください。
cat << EOF | sudo tee /etc/docker/daemon.json
{
    "insecure-registries" : ["192.168.1.1:32000"]
}
EOF

sudo systemctl restart docker

2. 以下のDockerfileを使用してPostgreSQLのpg_dumpをインストールしたイメージを作成します。
Dockerfile
FROM alpine:3.15
RUN apk --no-cache add postgresql-client \
  && mkdir /data
WORKDIR /data
VOLUME ["/data"]
ENV PG_HOST=localhost \
  PG_USER=postgres \
  PGPASSWORD=postgres \
  PG_DB=postgres \
  PG_PORT=5432 \
  BASENAME=backup \
  POSTFIX=_
CMD ["/bin/sh", "-c", "/usr/bin/pg_dump -h ${PG_HOST} -p ${PG_PORT} -U ${PG_USER} ${PG_DB}  | gzip > /data/${BASENAME}${POSTFIX}.dmp.gz"]

・イメージ作成コマンド ※192.168.1.1の部分はMicrok8sのホストのIPに変更してください。
docker build . -t 192.168.1.1:32000/pgdump:latest

・イメージのタグ付け
docker tag `docker images | grep '192.168.1.1:32000/pgdump' | awk '{print $3}'` 192.168.1.1:32000/pgdump:latest

・イメージをビルトインレジストリにプッシュ
docker push 192.168.1.1:32000/pgdump:latest

・Microk8sのサーバ上で、イメージが登録されたことを確認するには以下のコマンドを実行します。
wget http://192.168.1.1:32000/v2/_catalog -O -

3. local永続ボリュームの作成
以下のコマンドでlocal永続ボリュームを作成します。
cat << EOF > local-pgdump-pv.yml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: local-pgdump-pv
spec:
  capacity:
    storage: 5Gi
  accessModes:
  - ReadWriteOnce
  storageClassName: local-storage
  local:
    path: /backup/mydatabase
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - key: kubernetes.io/hostname
          operator: In
          values:
          - `hostname`
EOF
※`hostname`は今ログオンしているMicrok8sがインストールされているホスト名になります。適宜変更してください。
microk8s kubectl apply -f ./local-pgdump-pv.yml

4. 永続ボリューム要求の作成
以下のコマンドで永続ボリューム要求を作成します。
cat << EOF > local-pgdump-pvc.yml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: local-pgdump-pvc
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: local-storage
  resources:
    requests:
      storage: 5Gi
  volumeName: local-pgdump-pv
EOF

microk8s kubectl apply -f ./local-pgdump-pvc.yml

5. CronJobの作成
以下のファイルでCronJobを構成します。ここでは12:30にバックアップジョブを実行するようにしています。

cronjob-bakcup-mydatabase.yml
apiVersion: batch/v1
kind: CronJob
metadata:
  name: pgdump
spec:
  schedule: "30 12 * * *"
  successfulJobsHistoryLimit: 5
  failedJobsHistoryLimit: 5
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: pgdump
            image: localhost:32000/pgdump:latest
            env:
            - name: PG_HOST
              value: "192.168.1.1"
            - name: PG_USER
              value: postgres
            - name: PGPASSWORD
              value: mypostgres
            - name: PG_DB
              value: mydatabase
            - name: PG_PORT
              value: "5432"
            - name: BASENAME
              value: backup-mydatabase-
            volumeMounts:
            - name: data
              mountPath: /data
            command:
            - /bin/sh
            - -c
            - PFIX=`/bin/date '+%Y%m%d-%H%M'` && /usr/bin/pg_dump -h ${PG_HOST} -p ${PG_PORT} -U ${PG_USER} ${PG_DB}  | gzip > /data/${BASENAME}${PFIX}.dmp.gz
          restartPolicy: Never
          volumes:
          - name: data
            persistentVolumeClaim:
              claimName: local-pgdump-pvc
以下のコマンドでCronJobを作成します。
microk8s kubectl apply -f ./cronjob-bakcup-mydatabase.yml

関連情報

・Dockerの場合は、以下のページを参照してください。
Dockerでpg_dumpをインストールしたイメージ(Alpine3.15ベース)を作成してバックアップを行う

2022年2月12日土曜日

DockerでDebian 11(Bullseye)のLXDEデスクトップ環境にリモートデスクトップで接続できるコンテナを作成する

DockerでDebian 11(Bullseye)のLXDEデスクトップ環境にリモートデスクトップで接続できるコンテナを作成するには、以下の手順を実行します

〇リモートデスクトップで接続したDocker上のDebian 11(Bullseye) LXDEデスクトップ環境

作成手順

1. 以下のコマンドを実行してイメージを作成します
cat << EOF > Dockerfile
FROM debian:bullseye

ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update \
  && apt-get -y install vim task-japanese locales-all \
  && echo 'LC_ALL=ja_JP.UTF-8' > /etc/default/locale \
  && echo 'LANG=ja_JP.UTF-8' >> /etc/default/locale \
  && apt-get -y install task-lxde-desktop xrdp supervisor task-japanese-desktop fcitx-mozc fonts-ipafont fonts-ipafont-gothic fonts-ipafont-mincho \
  && echo '[supervisord]' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'nodaemon=true' >> /etc/supervisor/conf.d/sv.conf \
  && echo '[program:xrdp-sesman]' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'command=/usr/sbin/xrdp-sesman -nodaemon' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'autostart=true' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'autorestart=true' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'priority=100' >> /etc/supervisor/conf.d/sv.conf \
  && echo '[program:xrdp]' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'command=/usr/sbin/xrdp -nodaemon' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'autostart=true' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'autorestart=true' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'priority=200' >> /etc/supervisor/conf.d/sv.conf \
  && groupadd -g 1000 debian \
  && useradd -d /home/debian -m -s /bin/bash -u 1000 -g 1000 debian \
  && echo 'debian:debian' | chpasswd \
  && echo "debian ALL=NOPASSWD: ALL" >> /etc/sudoers \
  && mv /usr/bin/lxpolkit /usr/bin/lxpolkit.bak \
  && apt-get clean && apt-get autoremove \
  && rm -rf /var/cache/apt/archives/* /var/lib/apt/lists/*

CMD ["bash", "-c", "/usr/bin/supervisord -c /etc/supervisor/supervisord.conf"]
EOF

docker build --no-cache -t debian11lxde .

2. 作成したイメージを使用してコンテナを実行します。
docker run --rm -v `pwd`:/home/debian -p 3389:3389 debian11lxde

3. WindowsのリモートデスクトップやLinux上のRemminaからDockerホストのIPを指定して接続します。
ユーザ名debian、パスワードdebianでログインしてください。

※イメージを削除する場合は、以下のコマンドを実行します
docker rmi debian11lxde

2022年2月3日木曜日

DockerでMantis Bug Tracker、PostgreSQL14がインストールされたコンテナ(Alpine 3.15版)を構築する

Mantis Bug Trackerは、PHP製のバグ追跡・課題管理サーバです。

〇Mantis Bug Trackerの画面
デフォルトユーザ/パスワードはadministrator/rootです。

構築方法

以下の手順で、Mantis Bug TrackerとPostgreSQLのコンテナを構築・実行します。
1.DockerとDocker Composeをインストールしていない場合は、以下の手順を実行します。
以下のページを参照してDockerとDocker Composeをインストールします。

Debian 11(Bullseye)にDocker/Docker Compose V2系をインストールする

Ubuntu 20.04にDocker/Docker Compose V2系をインストールする

2. Mantis Bug Trackerイメージの作成(Dockerfileがあるフォルダで実行)
docker build -t mantisbtpg .

Dockerfile
FROM alpine:3.15
WORKDIR /
RUN  apk update \
  && apk add --no-cache apache2 php8-apache2 php8-pgsql php8-pdo php8-pdo_pgsql php8-intl php8-mbstring php8-session php8-curl php8-json php8-xml php8-zip php8-tokenizer php8-ctype php8-gd php8-xmlwriter php8-xmlreader php8-dom php8-zlib php8-iconv php8-simplexml php8-fileinfo openssl openrc unzip \
  && rm -rf /var/cache/apk/* \
  && wget https://sourceforge.net/projects/mantisbt/files/mantis-stable/2.25.2/mantisbt-2.25.2.tar.gz \
  && tar xvfz mantisbt-2.25.2.tar.gz \
  && rm -f mantisbt-2.25.2.tar.gz \
  && mv /var/www/localhost/htdocs /var/www/localhost/htdocs.bak \
  && mv mantisbt-2.25.2 /var/www/localhost/htdocs \
  && chown -R apache:apache /var/www/localhost/htdocs \
  && mkdir -p /run/apache2
EXPOSE 80
VOLUME ["/var/www/localhost/htdocs/config"]
CMD ["/usr/sbin/httpd", "-D", "FOREGROUND"]

3. Mantis Bug TrackerとPostgreSQLコンテナの構築・実行(docker-compose.ymlがあるフォルダで実行)
docker-compose up -d

docker-compose.yml
version: "3.3"
services:
  mantisbt:
    image: mantisbtpg
    container_name: "mantisbt"
    volumes:
      - "mantisbt-data:/var/www/localhost/htdocs/config"
    ports:
      - "8080:80"
    depends_on:
      - db
    restart: always
  db:
    image: postgres:14-alpine
    environment:
      POSTGRES_DB: mantisbt
      POSTGRES_USER: mantisbt
      POSTGRES_PASSWORD: mantisbt
    ports:
      - "5432:5432"
    container_name: postgres
    volumes:
      - "db-data:/var/lib/postgresql/data"
    restart: always
volumes:
  db-data:
    driver: local
  mantisbt-data:
    driver: local

4. ブラウザからhttp://<Dockerホスト名またはIP>:8080/にアクセス
Installer Optionsで以下の項目を入力する
Type of Database: PostgreSQL
Hostname (for Database Server): db
Username (for Database): mantisbt
Password (for Database): mantisbt
Database name (for Database): mantisbt

2022年2月2日水曜日

DockerでMantis Bug Tracker、MariaDBがインストールされたコンテナ(Alpine 3.15版)を構築する

Mantis Bug Trackerは、PHP製のバグ追跡・課題管理サーバです。

〇Mantis Bug Trackerの画面
デフォルトユーザ/パスワードはadministrator/rootです。

構築方法

以下の手順で、Mantis Bug TrackerとMariaDBのコンテナを構築・実行します。
1.DockerとDocker Composeをインストールしていない場合は、以下の手順を実行します。
以下のページを参照してDockerとDocker Composeをインストールします。

Debian 11(Bullseye)にDocker/Docker Compose V2系をインストールする

Ubuntu 20.04にDocker/Docker Compose V2系をインストールする

2. Mantis Bug Trackerイメージの作成(Dockerfileがあるフォルダで実行)
docker build -t mantisbtmariadb .

Dockerfile
FROM alpine:3.15
WORKDIR /
RUN  apk update \
  && apk add --no-cache apache2 php8-apache2 php8-mysqli php8-pdo php8-pdo_mysql php8-intl php8-mbstring php8-session php8-curl php8-json php8-xml php8-zip php8-tokenizer php8-ctype php8-gd php8-xmlwriter php8-xmlreader php8-dom php8-zlib php8-iconv php8-simplexml php8-fileinfo openssl openrc unzip \
  && rm -rf /var/cache/apk/* \
  && wget https://sourceforge.net/projects/mantisbt/files/mantis-stable/2.25.2/mantisbt-2.25.2.tar.gz \
  && tar xvfz mantisbt-2.25.2.tar.gz \
  && rm -f mantisbt-2.25.2.tar.gz \
  && mv /var/www/localhost/htdocs /var/www/localhost/htdocs.bak \
  && mv mantisbt-2.25.2 /var/www/localhost/htdocs \
  && chown -R apache:apache /var/www/localhost/htdocs \
  && mkdir -p /run/apache2
EXPOSE 80
VOLUME ["/var/www/localhost/htdocs/config"]
CMD ["/usr/sbin/httpd", "-D", "FOREGROUND"]

3. Mantis Bug TrackerとMariaDBコンテナの構築・実行(docker-compose.ymlがあるフォルダで実行)
docker-compose up -d

docker-compose.yml
version: "3.3"
services:
  mantisbt:
    image: mantisbtmariadb
    container_name: "mantisbt"
    volumes:
      - "mantisbt-data:/var/www/localhost/htdocs/config"
    ports:
      - "8080:80"
    depends_on:
      - db
    restart: always
  db:
    image: mariadb:latest
    command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --default-authentication-plugin=mysql_native_password --skip-innodb-read-only-compressed
    ports:
      - "3306:3306"
    volumes:
      - "db-data:/var/lib/mysql"
    environment:
      MYSQL_ROOT_PASSWORD: mantisbt
      MYSQL_DATABASE: mantisbt
      MYSQL_USER: mantisbt
      MYSQL_PASSWORD: mantisbt
    restart: always
volumes:
  db-data:
    driver: local
  mantisbt-data:
    driver: local

4. ブラウザからhttp://<Dockerホスト名またはIP>:8080/にアクセス
Installer Optionsで以下の項目を入力する
Type of Database: MySQL Improved
Hostname (for Database Server): db
Username (for Database): mantisbt
Password (for Database): mantisbt
Database name (for Database): mantisbt

2022年1月28日金曜日

DockerでDebian 11(Bullseye)のMATEデスクトップ環境にリモートデスクトップで接続できるコンテナを作成する

DockerでDebian 11(Bullseye)のMATEデスクトップ環境にリモートデスクトップで接続できるコンテナを作成するには、以下の手順を実行します。

〇リモートデスクトップで接続したDocker上のDebian 11(Bullseye) MATEデスクトップ環境

作成手順

1. 以下のDockerfileを使用してイメージを作成します
Dockerfile
FROM debian:bullseye

ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update \
  && apt-get -y install vim task-japanese locales-all \
  && echo 'LC_ALL=ja_JP.UTF-8' > /etc/default/locale \
  && echo 'LANG=ja_JP.UTF-8' >> /etc/default/locale \
  && apt-get -y install task-mate-desktop xrdp supervisor task-japanese-desktop ibus-mozc fonts-ipafont fonts-ipafont-gothic fonts-ipafont-mincho \
  && echo '[supervisord]' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'nodaemon=true' >> /etc/supervisor/conf.d/sv.conf \
  && echo '[program:xrdp-sesman]' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'command=/usr/sbin/xrdp-sesman -nodaemon' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'autostart=true' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'autorestart=true' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'priority=100' >> /etc/supervisor/conf.d/sv.conf \
  && echo '[program:xrdp]' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'command=/usr/sbin/xrdp -nodaemon' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'autostart=true' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'autorestart=true' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'priority=200' >> /etc/supervisor/conf.d/sv.conf \
  && groupadd -g 1000 debian \
  && useradd -d /home/debian -m -s /bin/bash -u 1000 -g 1000 debian \
  && echo 'debian:debian' | chpasswd \
  && echo "debian ALL=NOPASSWD: ALL" >> /etc/sudoers \
  && apt-get clean && apt-get autoremove \
  && rm -rf /var/cache/apt/archives/* /var/lib/apt/lists/*

CMD ["bash", "-c", "/usr/bin/supervisord -c /etc/supervisor/supervisord.conf"]

・イメージ作成コマンド
docker build --no-cache -t debian11mate .

2. 作成したイメージを使用してコンテナを実行します。
docker run --rm -v `pwd`:/home/debian -p 3389:3389 debian11mate

3. WindowsのリモートデスクトップやLinux上のRemminaからDockerホストのIPを指定して接続します。
ユーザ名debian、パスワードdebianでログインしてください。

※イメージを削除する場合は、以下のコマンドを実行します
docker rmi debian11mate

関連情報

・Xfce版は以下のページを参照してください。
DockerでDebian 11(Bullseye)のXfceデスクトップ環境にリモートデスクトップで接続できるコンテナを作成する

MinikubeでDebian 11(Bullseye)のMATEデスクトップ環境をデプロイする

Microk8sでDebian 11(Bullseye)のMATEデスクトップ環境をデプロイする

2022年1月26日水曜日

DockerでDebian 11(Bullseye)のXfceデスクトップ環境にリモートデスクトップで接続できるコンテナを作成する

DockerでDebian 11(Bullseye)のXfceデスクトップ環境にリモートデスクトップで接続できるコンテナを作成するには、以下の手順を実行します。

〇リモートデスクトップで接続したDocker上のDebian 11(Bullseye)デスクトップ環境

作成手順

1. 以下のDockerfileを使用してイメージを作成します
Dockerfile
FROM debian:bullseye

ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update \
  && apt-get -y install vim task-japanese locales-all \
  && echo 'LC_ALL=ja_JP.UTF-8' > /etc/default/locale \
  && echo 'LANG=ja_JP.UTF-8' >> /etc/default/locale \
  && apt-get -y install xfce4 dbus-x11 xfce4-terminal xrdp supervisor task-japanese-desktop ibus-mozc fonts-ipafont fonts-ipafont-gothic fonts-ipafont-mincho libreoffice \
  && echo '[supervisord]' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'nodaemon=true' >> /etc/supervisor/conf.d/sv.conf \
  && echo '[program:xrdp-sesman]' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'command=/usr/sbin/xrdp-sesman -nodaemon' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'autostart=true' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'autorestart=true' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'priority=100' >> /etc/supervisor/conf.d/sv.conf \
  && echo '[program:xrdp]' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'command=/usr/sbin/xrdp -nodaemon' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'autostart=true' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'autorestart=true' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'priority=200' >> /etc/supervisor/conf.d/sv.conf \
  && groupadd -g 1000 debian \
  && useradd -d /home/debian -m -s /bin/bash -u 1000 -g 1000 debian \
  && echo 'debian:debian' | chpasswd \
  && echo "debian ALL=NOPASSWD: ALL" >> /etc/sudoers \
  && apt-get clean && apt-get autoremove \
  && rm -rf /var/cache/apt/archives/* /var/lib/apt/lists/*

CMD ["bash", "-c", "/usr/bin/supervisord -c /etc/supervisor/supervisord.conf"]

・イメージ作成コマンド
docker build --no-cache -t debian11xfce .

2. 作成したイメージを使用してコンテナを実行します。
docker run --rm -v `pwd`:/home/debian -p 3389:3389 debian11xfce

3. WindowsのリモートデスクトップやLinux上のRemminaからDockerホストのIPを指定して接続します。
ユーザ名debian、パスワードdebianでログインしてください。

※イメージを削除する場合は、以下のコマンドを実行します
docker rmi debian11xfce

関連情報

・Minikube版Xfceデスクトップは以下のページを参照してください。
MinikubeでDebian 11(Bullseye)のXfceデスクトップ環境をデプロイする

・Microk8s版Xfceデスクトップは以下のページを参照してください。
Microk8sでDebian 11(Bullseye)のXfceデスクトップ環境をデプロイする

・MATEデスクトップ版
DockerでDebian 11(Bullseye)のMATEデスクトップ環境にリモートデスクトップで接続できるコンテナを作成する

2022年1月23日日曜日

Debian 11(Bullseye)にDockerとMinikubeとHelmをインストールする

単一ノードのKubernetesを簡単に実行できるMinikubeとパッケージマネージャのHelmをインストールするには以下の手順を実行します。

インストール手順

1.Dockerのインストール
以下のコマンドでDockerをインストールします。
sudo apt-get -y remove docker docker.io containerd runc

sudo apt-get -y install apt-transport-https ca-certificates curl gnupg lsb-release

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update

sudo apt-get -y install docker-ce docker-ce-cli containerd.io

sudo adduser $USER docker
※いったんログアウトします。以下でバージョンを確認します。
docker version

2. Minikubeのインストール
以下のコマンドでMinikubeをインストールします
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64

sudo install minikube-linux-amd64 /usr/local/bin/minikube

minikube start

minikube kubectl -- get po -A

echo 'alias kubectl="minikube kubectl --"' >> ~/.profile

source ~/.profile

3. Dashboardの実行
以下のコマンドでDashboardを実行します。
kubectl proxy --address='0.0.0.0' --disable-filter=true &

minikube dashboard

ブラウザから以下のURLからDashboardを参照します。
http://<MinikubeをインストールしたホストのIP>:8001/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/

〇Dashboardの画面

4. Helmのインストール
以下のコマンドでHelmをインストールして、リポジトリを追加します。
wget https://helm.baltorepo.com/organization/signing.asc

sudo apt-key add signing.asc

sudo apt-get -y install apt-transport-https

echo "deb https://baltocdn.com/helm/stable/debian/ all main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list

sudo apt-get update

sudo apt-get -y install helm

・リポジトリの追加
helm repo add stable https://charts.helm.sh/stable

helm repo add bitnami https://charts.bitnami.com/bitnami

※リポジトリ確認
helm repo list

関連情報

・ホストを起動したときに、Minikubeを自動起動させるには、以下のページを参考にしてください。
Ubuntu20.04にインストールしたMinikubeとkubectl proxyを自動起動するように設定する

2022年1月20日木曜日

Ubuntu 20.04にDockerとMinikubeとHelmをインストールする

Ubuntu20.04に単一ノードのKubernetesを簡単に実行できるMinikubeとパッケージマネージャのHelmをインストールするには以下の手順を実行します。

インストール手順

1.Dockerのインストール
以下のコマンドでDockerをインストールします。
sudo apt-get -y remove docker docker.io containerd runc

sudo apt-get -y 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=amd64 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

sudo apt-get update

sudo apt-get -y install docker-ce docker-ce-cli containerd.io

sudo adduser $USER docker
※いったんログアウトします。以下でバージョンを確認します。
docker version

2. Minikubeのインストール
以下のコマンドでMinikubeをインストールします
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64

sudo install minikube-linux-amd64 /usr/local/bin/minikube

minikube start

minikube kubectl -- get po -A

echo 'alias kubectl="minikube kubectl --"' >> ~/.profile

source ~/.profile

3. Dashboardの実行
以下のコマンドでDashboardを実行します。
kubectl proxy --address='0.0.0.0' --disable-filter=true &

minikube dashboard

ブラウザから以下のURLからDashboardを参照します。
http://<MinikubeをインストールしたホストのIP>:8001/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/

〇Dashboardの画面

4. Helmのインストール
以下のコマンドでHelmをインストールして、リポジトリを追加します。
wget https://helm.baltorepo.com/organization/signing.asc 

sudo apt-key add signing.asc

sudo apt-get -y install apt-transport-https

echo "deb https://baltocdn.com/helm/stable/debian/ all main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list

sudo apt-get update

sudo apt-get -y install helm

・リポジトリの追加
helm repo add stable https://charts.helm.sh/stable

helm repo add bitnami https://charts.bitnami.com/bitnami

※リポジトリ確認
helm repo list

関連情報

・ホストを起動したときに、Minikubeを自動起動させるには、以下のページを参考にしてください。
Ubuntu20.04にインストールしたMinikubeとkubectl proxyを自動起動するように設定する

2021年12月3日金曜日

Dockerでselfoss2.18、PostgreSQL14がインストールされたコンテナのイメージを作成する

selfossはPHP製のフィードリーダーです。

○selfossの画面

構築方法

以下の手順で、selfoss2.18、PostgreSQL 14のコンテナを構築・実行します。
1.DockerとDocker Composeをインストールしていない場合は、以下の手順を実行します。
以下のページを参照してDockerとDocker Composeをインストールします。

Debian 11(Bullseye)にDocker/Docker Compose V2系をインストールする

Ubuntu 20.04にDocker/Docker Compose V2系をインストールする

2. selfossイメージの作成(Dockerfileがあるフォルダで実行)
docker build -t selfoss .

Dockerfile
FROM alpine:3.14
ENV TZ=Asia/Tokyo
RUN  apk update \
  && apk add --no-cache apache2 php7-apache2 php7 php7-pgsql php7-pdo php7-pdo_pgsql php7-mbstring php7-session php7-curl php7-json php7-xml php7-zip php7-ctype php7-dom php7-simplexml php7-iconv php7-zlib php7-gd openssl openrc \
  && rm -rf /var/cache/apk/* \
  && mkdir -p /opt/selfoss
WORKDIR /opt/selfoss
RUN wget https://github.com/SSilence/selfoss/releases/download/2.18/selfoss-2.18.zip \
  && unzip selfoss-2.18.zip \
  && rm -f selfoss-2.18.zip \
  && cp defaults.ini config.ini \
  && sed -i -e 's/db_type=sqlite/db_type=pgsql/' config.ini \
  && sed -i -e 's/db_host=localhost/db_host=db/' config.ini \
  && sed -i -e 's/db_username=root/db_username=postgres/' config.ini \
  && sed -i -e 's/db_password=/db_password=postgres/' config.ini \
  && sed -i -e 's/db_port=/db_port=5432/' config.ini \
  && chown -R apache:apache /opt/selfoss \
  && mkdir -p /run/apache2 \
  && echo $'&Directory /var/www/localhost/htdocs/selfoss>\n\
Options Indexes FollowSymLinks \n\
AllowOverride All\n\
Require all granted\n\
&/Directory>' >> /etc/apache2/httpd.conf \
  && ln -s /opt/selfoss /var/www/localhost/htdocs \
  && sed -i -e 's|#LoadModule rewrite_module modules/mod_rewrite.so|LoadModule rewrite_module modules/mod_rewrite.so|' /etc/apache2/httpd.conf \
  && echo '0,10,20,30,40,50 * * * * /usr/bin/php /opt/selfoss/cliupdate.php' >> /var/spool/cron/crontabs/root
EXPOSE 80
VOLUME /opt/selfoss
CMD ["sh", "-c", "crond -d 8 && /usr/sbin/httpd -D FOREGROUND"]

3. selfossとPostgreSQLコンテナの構築・実行(docker-compose.ymlがあるフォルダで実行)

docker-compose.yml
version: "3.9"
services:
  selfoss:
    image: selfoss
    container_name: "selfoss"
    volumes:
      - "selfoss-data:/opt/selfoss"
    ports:
      - "80:80"
    depends_on:
      - db
  db:
    image: postgres:14-alpine
    environment:
      POSTGRES_DB: selfoss
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: postgres
    ports:
      - "5432:5432"
    container_name: postgres
    volumes:
      - "db-data:/var/lib/postgresql/data"
    restart: always
volumes:
  db-data:
    driver: local
  selfoss-data:
    driver: local

サービスを起動する場合は、以下のコマンドを実行します。
docker compose up -d


サービスを停止する場合は、以下のコマンドを実行します。
docker compose down


4. ブラウザからhttp://<Dockerホスト名またはIP>/selfoss/にアクセス
〇サンプルのRSS
http://serverarekore.blogspot.com/feeds/posts/default

Debian 11とUbuntu 20.04でApache SupersetをDockerを使用してインストールする

Debian 11とUbuntu 20.04でApache SupersetをDockerを使用してインストールするには、以下の手順を実行します。

〇Apache Supersetの画面

インストール手順

1.DockerとDocker Composeのインストール
以下のページを参照してDockerとDocker Composeをインストールします。
Debian 11(Bullseye)にDocker/Docker Compose V2系をインストールする

Ubuntu 20.04にDocker/Docker Compose V2系をインストールする

2.Apache Supersetのインストール
以下のコマンドを実行して、Apache Supersetをインストールします。
sudo apt-get update

sudo apt-get -y install git

git clone https://github.com/apache/superset.git

cd superset

docker compose build

docker compose up
※docker compose upの後、利用可能になるまでかなり時間がかかります。

3.ブラウザでhttp://<サーバ名またはIPアドレス>:8088/ にアクセスします。adminユーザ、パスワードadminでログインします。

関連情報

・Apache Supersetのインストール方法、ダッシュボードやチャートの作成方法は以下のページを参照してください。
Apache Supersetのまとめ

2021年12月2日木曜日

DockerでMantis Bug Tracker、MariaDBがインストールされたコンテナ(Alpine 3.14)を構築する

Mantis Bug Trackerは、PHP製のバグ追跡・課題管理サーバです。

〇Mantis Bug Trackerの画面
デフォルトユーザ/パスワードはadministrator/rootです。

構築方法

以下の手順で、Mantis Bug TrackerとPostgreSQLのコンテナを構築・実行します。
1.DockerとDocker Composeをインストールしていない場合は、以下の手順を実行します。
以下のページを参照してDockerとDocker Composeをインストールします。

Debian 11(Bullseye)にDocker/Docker Compose V2系をインストールする

Ubuntu 20.04にDocker/Docker Compose V2系をインストールする

2. Mantis Bug Trackerイメージの作成(Dockerfileがあるフォルダで実行)
docker build -t mantisbtmariadb .

Dockerfile
FROM alpine:3.14
WORKDIR /
RUN  apk update \
  && apk add --no-cache apache2 php8-apache2 php8-mysqli php8-pdo php8-pdo_mysql php8-intl php8-mbstring php8-session php8-curl php8-json php8-xml php8-zip php8-tokenizer php8-ctype php8-gd php8-xmlwriter php8-xmlreader php8-dom php8-zlib php8-iconv php8-simplexml php8-fileinfo openssl openrc unzip \
  && rm -rf /var/cache/apk/* \
  && wget https://sourceforge.net/projects/mantisbt/files/mantis-stable/2.25.2/mantisbt-2.25.2.tar.gz \
  && tar xvfz mantisbt-2.25.2.tar.gz \
  && rm -f mantisbt-2.25.2.tar.gz \
  && mkdir -p /opt \
  && mv mantisbt-2.25.2 /opt/mantisbt \
  && chown -R apache:apache /opt/mantisbt \
  && ln -s  /opt/mantisbt /var/www/localhost/htdocs \
  && mkdir -p /run/apache2 \
  && mkdir -p /var/mantisbt \
  && chown -R apache:apache /var/mantisbt
EXPOSE 80
VOLUME ["/var/mantisbt","/opt/mantisbt"]
CMD ["/usr/sbin/httpd", "-D", "FOREGROUND"]

3. Mantis Bug TrackerとMariaDBコンテナの構築・実行(docker-compose.ymlがあるフォルダで実行)
docker-compose up -d

docker-compose.yml
version: "3.9"
services:
  mantisbt:
    image: mantisbtmariadb
    container_name: "mantisbt"
    volumes:
      - "mantisbt-data:/var/mantisbt"
      - "mantisbt-opt:/opt/mantisbt"
    ports:
      - "80:80"
    depends_on:
      - db
    restart: always
  db:
    image: mariadb:latest
    command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --default-authentication-plugin=mysql_native_password --skip-innodb-read-only-compressed
    ports:
      - "3306:3306"
    volumes:
      - "db-data:/var/lib/mysql"
    environment:
      MYSQL_ROOT_PASSWORD: mantisbt
      MYSQL_DATABASE: mantisbt
      MYSQL_USER: mantisbt
      MYSQL_PASSWORD: mantisbt
    restart: always
volumes:
  db-data:
    driver: local
  mantisbt-data:
    driver: local
  mantisbt-opt:
    driver: local

4. ブラウザからhttp://<Dockerホスト名またはIP>/mantisbt/にアクセス
Installer Optionsで以下の項目を入力する
Type of Database: MySQL Improved
Hostname (for Database Server): db
Username (for Database): mantisbt
Password (for Database): mantisbt
Database name (for Database): mantisbt

2021年12月1日水曜日

DockerでMantis Bug Tracker、PostgreSQL14がインストールされたコンテナ(Alpine 3.14)を構築する

Mantis Bug Trackerは、PHP製のバグ追跡・課題管理サーバです。

〇Mantis Bug Trackerの画面
デフォルトユーザ/パスワードはadministrator/rootです。

構築方法

以下の手順で、Mantis Bug TrackerとPostgreSQLのコンテナを構築・実行します。
1.DockerとDocker Composeをインストールしていない場合は、以下の手順を実行します。
以下のページを参照してDockerとDocker Composeをインストールします。

Debian 11(Bullseye)にDocker/Docker Compose V2系をインストールする

Ubuntu 20.04にDocker/Docker Compose V2系をインストールする

2. Mantis Bug Trackerイメージの作成(Dockerfileがあるフォルダで実行)
docker build -t mantisbtpg .

Dockerfile
FROM alpine:3.14
WORKDIR /
RUN  apk update \
  && apk add --no-cache apache2 php8-apache2 php8-pgsql php8-pdo php8-pdo_pgsql php8-intl php8-mbstring php8-session php8-curl php8-json php8-xml php8-zip php8-tokenizer php8-ctype php8-gd php8-xmlwriter php8-xmlreader php8-dom php8-zlib php8-iconv php8-simplexml php8-fileinfo openssl openrc unzip \
  && rm -rf /var/cache/apk/* \
  && wget https://sourceforge.net/projects/mantisbt/files/mantis-stable/2.25.2/mantisbt-2.25.2.tar.gz \
  && tar xvfz mantisbt-2.25.2.tar.gz \
  && rm -f mantisbt-2.25.2.tar.gz \
  && mkdir -p /opt \
  && mv mantisbt-2.25.2 /opt/mantisbt \
  && chown -R apache:apache /opt/mantisbt \
  && ln -s  /opt/mantisbt /var/www/localhost/htdocs \
  && mkdir -p /run/apache2 \
  && mkdir -p /var/mantisbt \
  && chown -R apache:apache /var/mantisbt
EXPOSE 80
VOLUME ["/var/mantisbt","/opt/mantisbt"]
CMD ["/usr/sbin/httpd", "-D", "FOREGROUND"]

3. Mantis Bug TrackerとPostgreSQLコンテナの構築・実行(docker-compose.ymlがあるフォルダで実行)
docker-compose up -d

docker-compose.yml
version: "3.9"
services:
  mantisbt:
    image: mantisbtpg
    container_name: "mantisbt"
    volumes:
      - "mantisbt-data:/var/mantisbt"
      - "mantisbt-opt:/opt/mantisbt"
    ports:
      - "80:80"
    depends_on:
      - db
    restart: always
  db:
    image: postgres:14-alpine
    environment:
      POSTGRES_DB: mantisbt
      POSTGRES_USER: mantisbt
      POSTGRES_PASSWORD: mantisbt
    ports:
      - "5432:5432"
    container_name: postgres
    volumes:
      - "db-data:/var/lib/postgresql/data"
    restart: always
volumes:
  db-data:
    driver: local
  mantisbt-data:
    driver: local
  mantisbt-opt:
    driver: local

4. ブラウザからhttp://<Dockerホスト名またはIP>/mantisbt/にアクセス
Installer Optionsで以下の項目を入力する
Type of Database: PostgreSQL
Hostname (for Database Server): db
Username (for Database): mantisbt
Password (for Database): mantisbt
Database name (for Database): mantisbt

2021年11月30日火曜日

DockerでNextcloud22とMariaDBのコンテナーを構築する

NextcloudはDropboxのようなファイルを共有できるサーバーアプリケーションです。

○Nextcloudの画面

構築方法

1.DockerとDocker Composeをインストールしていない場合は、以下の手順を実行します。
以下のページを参照してDockerとDocker Composeをインストールします。

Debian 11(Bullseye)にDocker/Docker Compose V2系をインストールする

Ubuntu 20.04にDocker/Docker Compose V2系をインストールする

2.以下のdocker-compose.ymlを使用して、Nextcloud22とMariaDBのコンテナーを構築する事ができます。
docker-compose.yml
version: "3.9"
services:
  nextcloud:
    image: nextcloud:22-apache
    container_name: nextcloud
    ports:
      - 8080:80
    volumes:
      - nextcloud-data:/var/www/html
    depends_on:
      - db
    restart: always
  db:
    image: mariadb:latest
    command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --default-authentication-plugin=mysql_native_password --skip-innodb-read-only-compressed
    ports:
      - "3306:3306"
    volumes:
      - "db-data:/var/lib/mysql"
    environment:
      MYSQL_ROOT_PASSWORD: nextcloud
      MYSQL_DATABASE: nextcloud
      MYSQL_USER: nextcloud
      MYSQL_PASSWORD: nextcloud
    restart: always
volumes:
  nextcloud-data:
    driver: local
  db-data:
    driver: local
※パスワードは適宜変更してください。

3.サービスの実行
サービスを起動する場合は、以下のコマンドを実行します。
docker compose up -d

サービスを停止する場合は、以下のコマンドを実行します。
docker compose down

4.初期設定
ブラウザからhttp://<Dockerホスト名またはIP>:8080/にアクセス
初期設定画面で以下の項目を入力します
データベースのユーザ名: nextcloud
データベースのパスワード: nextcloud
データベース名: nextcloud
データベースのホスト名: db:3306

2021年11月29日月曜日

DockerでNextcloud22とPostgreSQL14のコンテナーを構築する

NextcloudはDropboxのようなファイルを共有できるサーバーアプリケーションです。

○Nextcloudの画面

構築方法

1.DockerとDocker Composeをインストールしていない場合は、以下の手順を実行します。
以下のページを参照してDockerとDocker Composeをインストールします。

Debian 11(Bullseye)にDocker/Docker Compose V2系をインストールする

Ubuntu 20.04にDocker/Docker Compose V2系をインストールする

2.以下のdocker-compose.ymlを使用して、Nextcloud22とPostgreSQL14のコンテナーを構築する事ができます。
docker-compose.yml
version: "3.9"
services:
  nextcloud:
    image: nextcloud:22-apache
    container_name: nextcloud
    ports:
      - 8080:80
    volumes:
      - nextcloud-data:/var/www/html
    depends_on:
      - db
    restart: always
  db:
    image: postgres:14-alpine
    environment:
      POSTGRES_DB: nextcloud
      POSTGRES_USER: nextcloud
      POSTGRES_PASSWORD: nextcloud
    ports:
      - "5432:5432"
    container_name: postgres
    volumes:
      - "db-data:/var/lib/postgresql/data"
    restart: always
volumes:
  nextcloud-data:
    driver: local
  db-data:
    driver: local
※パスワードは適宜変更してください。

3.サービスの実行
サービスを起動する場合は、以下のコマンドを実行します。
docker compose up -d

サービスを停止する場合は、以下のコマンドを実行します。
docker compose down

4.初期設定
ブラウザからhttp://<Dockerホスト名またはIP>:8080/にアクセス
初期設定画面で以下の項目を入力します
データベースのユーザ名: nextcloud
データベースのパスワード: nextcloud
データベース名: nextcloud
データベースのホスト名: db:5432

2021年11月28日日曜日

DockerでMetabase、MariaDBをインストールしたコンテナを構築する

Metabaseはオープンソースのデータ解析・可視化ツールです。

○Metabaseの画面

構築方法

1.DockerとDocker Composeをインストールしていない場合は、以下の手順を実行します。
以下のページを参照してDockerとDocker Composeをインストールします。

Debian 11(Bullseye)にDocker/Docker Compose V2系をインストールする

Ubuntu 20.04にDocker/Docker Compose V2系をインストールする

2.Metabase、MariaDBをインストールしたコンテナを構築するために、以下のdocker-compose.ymlを保存します。。 docker-compose.yml
version: "3.9"
services:
  metabase:
    image: metabase/metabase
    container_name: "metabase"
    volumes:
      - "metabase-data:/metabase-data"
    environment:
      MB_DB_FILE: /metabase-data/metabase.db
      MB_DB_TYPE: mysql
      MB_DB_DBNAME: metabase
      MB_DB_PORT: 3306
      MB_DB_USER: metabase
      MB_DB_PASS: metabase
      MB_DB_HOST: db
    ports:
      - "3000:3000"
    depends_on:
      - db
  db:
    image: mariadb:latest
    command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --default-authentication-plugin=mysql_native_password
    ports:
      - "3306:3306"
    volumes:
      - "db-data:/var/lib/mysql"
    environment:
      MYSQL_ROOT_PASSWORD: metabase
      MYSQL_DATABASE: metabase
      MYSQL_USER: metabase
      MYSQL_PASSWORD: metabase
volumes:
  db-data:
    driver: local
  metabase-data:
    driver: local

3.サービスの実行
サービスを起動する場合は、以下のコマンドを実行します。
docker compose up -d

サービスを停止する場合は、以下のコマンドを実行します。
docker compose down

4.ブラウザからブラウザからhttp://<ホスト名またはホストのIP>:3000/にアクセスして、初期設定を以下のように入力します
言語、ユーザアカウント情報を入力して、データベース接続では、以下の様に入力します。
Database type: mysql
Host: db
Port: 3306
Database name: metabase
Database username: metabase
Database password: metabase
これ以降はお好みで選択します。

2021年11月27日土曜日

DockerでMetabase、PostgreSQL14をインストールしたコンテナを構築する

Metabaseはオープンソースのデータ解析・可視化ツールです。

○Metabaseの画面

構築方法

1.DockerとDocker Composeをインストールしていない場合は、以下の手順を実行します。
以下のページを参照してDockerとDocker Composeをインストールします。

Debian 11(Bullseye)にDocker/Docker Compose V2系をインストールする

Ubuntu 20.04にDocker/Docker Compose V2系をインストールする

2.Metabase、PostgreSQL14をインストールしたコンテナを構築するために、以下のdocker-compose.ymlを保存します。。
docker-compose.yml
version: "3.9"
services:
  metabase:
    image: metabase/metabase
    container_name: "metabase"
    volumes:
      - "metabase-data:/metabase-data"
    environment:
      MB_DB_FILE: /metabase-data/metabase.db
      MB_DB_TYPE: postgres
      MB_DB_DBNAME: metabase
      MB_DB_PORT: 5432
      MB_DB_USER: postgres
      MB_DB_PASS: metabase
      MB_DB_HOST: db
    ports:
      - "3000:3000"
    depends_on:
      - db
  db:
    image: postgres:14-alpine
    container_name: "metabase-db"
    ports:
      - "5432:5432"
    volumes:
      - "db-data:/var/lib/postgresql/data"
    environment:
        POSTGRES_DB: metabase
        POSTGRES_PASSWORD: metabase
volumes:
  db-data:
    driver: local
  metabase-data:
    driver: local

3.サービスの実行
サービスを起動する場合は、以下のコマンドを実行します。
docker compose up -d

サービスを停止する場合は、以下のコマンドを実行します。
docker compose down

4.ブラウザからブラウザからhttp://<ホスト名またはホストのIP>:3000/にアクセスして、初期設定を以下のように入力します
言語、ユーザアカウント情報を入力して、データベース接続では、以下の様に入力します。
Database type: PostgreSQL
Host: db
Port: 5432
Database name: metabase
Database username: postgres
Database password: metabase
これ以降はお好みで選択します。

2021年11月26日金曜日

DockerでKanboardとPostgreSQL14のコンテナーを構築する

Kanboardはタスク管理をおこなうPHP製のソフトウェアです。KanboardとPostgreSQL14のコンテナーをDocker上に構築します。

○Kanboardの画面
ブラウザからhttp://<Dockerホスト>/にアクセスします。
ユーザ:admin、パスワード:adminを指定します。

構築方法

1.DockerとDocker Composeをインストールしていない場合は、以下の手順を実行します。
以下のページを参照してDockerとDocker Composeをインストールします。

Debian 11(Bullseye)にDocker/Docker Compose V2系をインストールする

Ubuntu 20.04にDocker/Docker Compose V2系をインストールする

Raspberry Pi OS(Raspbian Buster)にDockerとDocker Compose V2系をインストールする

2.以下のdocker-compose.ymlを使用して、KanboardとMariaDBのコンテナーを構築する事ができます。
docker-compose.yml
version: "3.9"
services:
  kanboard:
    image: kanboard/kanboard:latest
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - kanboard_data:/var/www/app/data
      - kanboard_plugins:/var/www/app/plugins
      - kanboard_ssl:/etc/nginx/ssl
    environment:
      DATABASE_URL: postgres://kanboard:kanboard@db:5432/kanboard
  db:
    image: postgres:14-alpine
    environment:
      POSTGRES_DB: kanboard
      POSTGRES_USER: kanboard
      POSTGRES_PASSWORD: kanboard
    ports:
      - "5432:5432"
    container_name: postgres
    volumes:
      - "kanboarddb-data:/var/lib/postgresql/data"
volumes:
  kanboard_data:
    driver: local
  kanboard_plugins:
    driver: local
  kanboard_ssl:
    driver: local
  kanboarddb-data:
    driver: local
※パスワードは適宜変更してください。

3.サービスの実行
サービスを起動する場合は、以下のコマンドを実行します。
docker compose up -d

サービスを停止する場合は、以下のコマンドを実行します。
docker compose down