Qiiaに投稿してみるにあたり、自分のブログに掲載した内容をQiia向けに修正して投稿してみることに。画像挿入や見出しや引用など、修正する作業量は割と多かった。
##CentOS8にNginxを入れずにNginx起動する
CentOS8にNginxを入れずにNginx起動することは可能だ。具体的にはdockerをインストールしてdockerを利用してNginxを起動する。
# nginx -V
CentOS8にはNginxをインストールしていないので、コマンドが見つかりませんでしたのメッセージ。その後にnginx のインストールを促してくるがNo。この状態でdockerをインストールしてdockerを利用してNginxを起動してみる。
##CentOS8にdockerをインストール手順についての参照元
docs.docker.comのCentOSにDockerエンジンをインストールするを参考にしようかと思ったが、CentOS7を対象としており、CentOS8向けではなかった。そのため、CentOs8にdockerをインストールを参考にさせてもらいインストールの実施をすることにした。
##CentOS8にdockerをインストール(失敗)
手順としては
①CentOSにDockerエンジンをインストールするを参考に、一応古いバージョンのアンインストールを実施
# dnf remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
②CentOS Linuxのバージョン確認
# cat /etc/centos-release
CentOS Linux release 8.2.2004 (Core)
③リポジトリの追加 確認
# dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
④リポジトリの確認
# dnf repolist
⑤DockerEngineのインストールを実施(失敗)
# dnf install --nobest docker-ce
CentOS8をインストール直後の状態では、古いバージョンのdockerアンインストールは対象が無かったので「①CentOSにDockerエンジンをインストールするを参考に、一応古いバージョンのアンインストールを実施」は飛ばしてもらって問題ない。
##CentOS8にdockerをインストール(成功)
競合するパッケージがあり、DockerEngineのインストールに失敗したので、警告通り競合するパッケージを置きかえるコマンドラインを追加して再度CentOS8にdockerのインストールを実施した
⑤DockerEngineのインストールを実施(成功)
# dnf install --nobest docker-ce --allowerasing
dockerインストールが成功したので
⑥dockerのバージョンを確認
# docker --version
Docker version 19.03.13, build 4484c46d9d
⑦dockerの自動起動と起動設定
# systemctl enable docker
# systemctl start docker
##dockerを利用してNginxを起動する
⑧dockerを利用してNginxを起動
# docker run --name testnginx -d -p 8080:80 nginx
⑨dockerのコンテナの状態の情報表示
# docker ps -a
docker runでnginxを「testnginx」という名前で<ホスト側のポート>:<コンテナ側のポート>を8080:80で実行している。
docker ps -aでコンテナの状態を表示すると
NAMESが「testnginx」PORTSが「0.0.0.0:8080->80/tcp」と、指定した条件で実行されているのが確認できる。なお後で確認することになるので、CONTAINER IDが「c917cab45486」で実行されていることにも注目しておいてほしい。
##Firefoxでlocalhost:8080にアクセス
Firefoxでlocalhost:8080にアクセスする。8080なのはdocker runで「-p 8080:80」と指定した為だ。
CentOS8にNginxを入れずにdockerを利用してNginx起動することに成功した。
##Dockerコンテナ、イメージを削除する
⑩dockerのコンテナの停止
# docker stop c917cab45486
⑪dockerのコンテナを削除
# docker rm c917cab45486
⑫dockerのコンテナの状態の情報表示
# docker ps -a
実行中のコンテナを削除しようとするとエラーとなるので、事前にdocker stopでCONTAINER ID「c917cab45486」を指定して停止している。その後、docker rmで削除してdockerのコンテナが無くなったことをdocker ps -aで確認している。
⑬dockerのイメージの状態の情報表示
# docker images
IMAGE ID f35646e83998
⑭dockerのイメージを削除
# docker rmi f35646e83998
⑮dockerのイメージの状態の情報表示
# docker images
dockerのコンテナは削除したが、dockerのイメージは残っている。dockerのイメージの情報表示を行い、IMAGE IDを指定してdockerのイメージを削除、再度dockerのイメージの情報表示を行い、dockerのイメージが無くなったことを確認している。