dockerにcentos7コンテナを作成し、そのコンテナの中にnginxをインストールしたので、備忘録として残しておきます。
dockerを勉強しはじめたばっかなので参考程度にどうぞ。
実施環境
実施環境は以下の通り。
- Windows7
- VirtualBox-5.0.16
- DockerToolbox-18.03.0
centos7コンテナの作成
centos7コンテナを作成し、コンテナの中に入ります。
1 2 | $ docker run --privileged -d -v /c/Users/hoge:/hoge -p 8080:80 --name centos centos:7 /sbin/init $ docker exec -it centos /bin/bash |
共有ディレクトリは適宜変更してください。ちなみに現バージョンではホスト側のPCは/c/Users/配下からでないとうまくできなかったので注意が必要。
また、/bin/bashだとコンテナ内でsystemctlコマンドが使えないため、
- 特権モード(–privileged)
- 起動されるコマンドは/sbin/init
にして実行。
詳しくはこちらの記事に書いてあるので、参考にしてみてください。
CentOS 7のDockerコンテナ内でsystemdを使ってサービスを起動する
DockerでCentOS7起動時にsystemctlが動かないとき
nginxをインストール
nginx.repoファイルを新規で作成する。
1 | $ vi /etc/yum.repos.d/nginx.repo |
作成したファイルに以下を追加します。
1 2 3 4 5 | [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/7/$basearch/ gpgcheck=0 enabled=1 |
追加したファイルをオプションにつけてインストール
1 | $ yum -y --enablerepo=nginx install nginx |
インストール後、nginxのバージョンを確認
1 | $ nginx -v |
centosでnginxをインストールする方法はこちらの記事で詳しく紹介しています。
CentOS 7 (5, 6) で “安定版 (最新版)” のNginxをインストールする方法
nginxを起動
nginxを起動する。systectl status nginxでactiveになっていることを確認。
1 2 | $ systemctl start nginx $ systectl status nginx |
ブラウザでhttp://サーバーのアドレス:8080/を入力し、このような画面が表示されたら成功。
コンテナを作っては削除しと、ハマリまくったけどなんとかなりました。