2018年4月5日木曜日

LXDでphpMyAdminとMySQLがインストールされたコンテナを構築する

phpMyAdminでブラウザからMySQLを操作する事ができます。

〇phpMyAdminの画面


LXDで以下のコマンドを実行して、phpMyAdminとMySQLがインストールされたコンテナを構築します。
lxc init ubuntu:16.04 phpmyadmin
lxc config set phpmyadmin user.user-data - < config.yml
lxc start phpmyadmin

config.yml
#cloud-config

package_upgrade: true

hostname: phpmysqladmin
manage_etc_hosts: true

runcmd:
  - 'echo "mysql-server-5.7 mysql-server/root_password password root" | sudo debconf-set-selections'
  - 'echo "mysql-server-5.7 mysql-server/root_password_again password root" | sudo debconf-set-selections'
  - 'DEBIAN_FRONTEND=noninteractive apt-get -y install mysql-server-5.7'
  - mysql -uroot -proot -e "CREATE DATABASE test1 DEFAULT CHARACTER SET utf8mb4;"
  - mysql -uroot -proot -e "CREATE USER test1@localhost IDENTIFIED BY 'test1';"
  - mysql -uroot -proot -e "GRANT ALL PRIVILEGES ON test1.* TO 'test1'@'localhost';"
  - mysql -uroot -proot -e "FLUSH PRIVILEGES;"
  - 'echo "phpmyadmin phpmyadmin/dbconfig-install boolean true" | debconf-set-selections'
  - 'echo "phpmyadmin phpmyadmin/mysql/admin-pass password root" | debconf-set-selections'
  - 'echo "phpmyadmin phpmyadmin/reconfigure-webserver multiselect apache2" | debconf-set-selections'
  - 'echo "phpmyadmin phpmyadmin/mysql/app-pass password root" | debconf-set-selections'
  - 'apt-get -y install phpmyadmin'
  - service apache2 restart
final_message: "completed."

〇ホストマシンの外部からコンテナにアクセスしたい場合
PORT=80 PUBLIC_IP=<ホストのIP> CONTAINER_IP=<コンテナのIP> sudo -E bash -c 'iptables -t nat -I PREROUTING -i eth0 -p TCP -d $PUBLIC_IP --dport $PORT -j DNAT --to-destination $CONTAINER_IP:$PORT -m comment --comment "container"'
コンテナのIPは以下のコマンドで調べることができます。

lxc list

〇コンテナの停止
lxc stop phpmyadmin

〇コンテナの削除
lxc delete phpmyadmin


〇関連情報
・phpMyAdminに関する他の情報はこちらを参照してください。

・プロジェクトwebサイト
https://www.phpmyadmin.net/

0 件のコメント:

コメントを投稿