1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

本番・ステージング環境(さくらVPS+CentOS7)でDockerを動かす

Last updated at Posted at 2021-10-02

ローカル開発環境で動いていたdockerコンテナをvpsサーバで動かそうとするとハマったのでメモ。
この環境にはすでに8000番で他のサービスが動いており、全然違うミドルウェアを使うので隔離したかった。

まだ本番特有のセキュリティとかはできていない。
とにかくローカルと同様にブラウザからアクセスできるようにするところまでできたのでメモ。

さくらVPSサーバ固有の設定があったため、他のサーバだとそちらのコンパネなりを調べる必要がありそうです。

Portを解放する

今回はdocker-compose.yml のwebコンテナで 8081番をしている前提です。

docker-compose.yml
version: '2'

volumes:
  nextcloud:
  db:

services:
  db:
    image: mariadb
    restart: always
    volumes:
      - db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=${ENV_MYSQL_ROOT_PASSWORD}  # .envファイルに環境変数を設定
      - MYSQL_PASSWORD=${ENV_MYSQL_PASSWORD}  # .envファイルに環境変数を設定
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud

  app:
    image: nextcloud
    ports:
      - 8081:80
    links:
      - db
    volumes:
      - nextcloud:/var/www/html
    restart: always
(END)
.env
ENV_MYSQL_ROOT_PASSWORD=root
ENV_MYSQL_PASSWORD =root

CentOSのfirewallで対象のPortを開く

sudo firewall-cmd --permanent --zone=public --add-port=8081/tcp
sudo firewall-cmd --reload
sudo firewall-cmd --list-all

--list-all でportの行に8081が追加されていたら成功。

が、これでアクセスできるかと思ったらさくらVPSでは以下の手順も必要だった。

さくらVPSのコントロールパネル サイトへアクセスする。

サーバを選択して、
タブからグローバルネットワークを選択
パケットフィルタを設定を押下
カスタムで開きたいポートを追加登録する。
ここでは8081

初回はdocker本体をインストールする。

確かこの人の言う通りにやったら特につまらずインストールできたので、コピペさせてもらって入れてください。

ローカル環境で使用したdocker-comopse.ymlなどを任意のフォルダを作って用意する。

mkdir NetCloud-Docker
cd NetCloud-Docker
vim docker-compose.yml
vim .env

今回のイメージはこれだけで動くものなので、はじめに書いた内容をvimで貼り付ければ動く。
git cloneとかが必要なプロジェクトでもローカルで動いた構成と同じものを用意する。

立ち上げる

sudo docker-compose up -d
sudo docker ps

アプリ側が8081番を待ち受けているか確認

netstat -tanp

以下のような表示がされていたら8081で待機できている。

tcp        0      0 0.0.0.0:8081            0.0.0.0:*               LISTEN      -

ブラウザからアクセスする
http://{IPアドレス}:8081

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?