はじめに
ローカル環境にVirtualBoxを使用して開発環境を構築しようと考えまして、
どうせならdockerを使用してやってみようと思い、その手順をまとめます。
開発環境は、WEBサーバ(PHP),DBサーバ(Postgresql)という構成を考えています。
恥ずかしながら、いままでdockerを使用したことがなかったため、
まずはDBサーバを構築してみようと考え、その手順をまとめます。
かなり基礎的な部分からまとめています。
作業環境
- MacOS X Yosemite 10.10.5
1. VirtualBox をインストール
公式サイトからVirtualBoxをダウンロードして、インストールをします。
2. CentOS7をダウンロード
公式サイトからCentOS7のisoをダウンロード。
3. VirtualBoxからCentOS7の仮想マシンを作成し、各種設定を実施
久々に構築したため、ちょこちょこ躓いた部分があったため、
以下のURLページを参照して実施
※centosは最小構成でインストールしています。
- 構築後、解像度変更
https://qiita.com/aminevsky/items/e619669963cb68012755 - ssh設定
https://qiita.com/ebkn/items/751ed657629ba8d4ab0a - root接続許可
https://qiita.com/sugimount/items/ea1a7e28928d58e51e69 - yumを使用して、アップデートを実施。
# yum update
4. dockerインストール
yum からインストールを実施します。
# yum install docker
5. docker開始
dockerを開始します。
# systemctl start docker
6. OSの起動時にDockerが自動で起動するようにする
# systemctl enable docker
7. dockerhub から postgresql のイメージをダウンロード
docker Hubから postgresql のイメージをダウンロードします。
docker pull postgres
8. ダウンロードを確認
ダウンロードされているか、以下のコマンドでイメージ一覧を確認します。
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/postgres latest 084ec18124c8 3 weeks ago 228 MB
9. コンテナの作成と実行
以下のコマンドを実行して、コンテナの作成と実行を実施します。
# docker run -d --name dev-postgres -e POSTGRES_PASSWORD=postgres -p 5432:5432 -d postgres:latest
10. 起動確認
作成と起動されたか確認します。
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
18e5e56a13b3 postgres:latest "docker-entrypoint..." 26 seconds ago Up 24 seconds 0.0.0.0:5432->5432/tcp dev-postgres
11. 起動中のコンテナにアクセス
起動はしましたが、postgresqlにアクセスできるかどうかを確認します。
まずは、起動しているコンテナ(dev-postgres)にアクセスします。
# docker exec -it dev-postgres bash
12. コンテナ内でpostgresqlに接続
コンテナ(dev-postgres)内でpostgresに接続します。
psql -U postgres
パスワードは docker run ~ 時に設定したもの
13. postgresqlでコマンド実行
バージョンを表示するSQLを実行してみます。
postgres=# select version();
version
---------------------------------------------------------------------------------------
PostgreSQL 10.5 on x86_64-pc-linux-musl, compiled by gcc (Alpine 6.4.0) 6.4.0, 64-bit
(1 row)
まずはdockerでpostgresqlが動作するところまで構築しました。
次はWebサーバをdockerで構築する手順をまとめようと思います。
参考URL
https://qiita.com/nagi244/items/10623f509bba6887192d
https://qiita.com/uhooi/items/f8c67a9e716a226e28cd