Centos 基于Docker的Nginx安装
Docker安装
环境要求
Docker支持CentOS 7 (64-bit)和CentOS 6.5 (64-bit) 或更高的版本。
Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。
Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。
查看内核命令:
uname -r
安装Docker
如果之前已经安装过Docker,则先移除旧版本。具体命令如下:
sudo yum remove docker
sudo yum remove docker-client
sudo yum remove docker-client-latest
sudo yum remove docker-common
sudo yum remove docker-latest
sudo yum remove docker-latest-logrotate
sudo yum remove docker-logrotate
sudo yum remove docker-selinux
sudo yum remove docker-engine-selinux
sudo yum remove docker-engine
安装依赖工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
添加软件源信息
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
更新 yum 缓存
sudo yum makecache fast
安装 Docker-ce
sudo yum -y install docker-ce
启动 Docker 后台服务
sudo systemctl start docker
测试hello-world
docker run hello-world
由于本地没有hello-world这个镜像,所以会下载一个hello-world的镜像,并在容器内运行。
基于Docker的Linux安装
查询Docker Hub的Nginx镜像:
docker search nginx
执行结果:
[root@iZ2zeck5vyquf4xc1v0e4fZ nginx]# docker search nginx
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
nginx Official build of Nginx. 9946 [OK]
jwilder/nginx-proxy Automated Nginx reverse proxy for docker con… 1435 [OK]
richarvey/nginx-php-fpm Container running Nginx + PHP-FPM capable of… 627 [OK]
jrcs/letsencrypt-nginx-proxy-companion LetsEncrypt container to use with nginx as p… 425 [OK]
kong Open-source Microservice & API Management la… 235 [OK]
webdevops/php-nginx Nginx with PHP-FPM 114 [OK]
kitematic/hello-world-nginx A light-weight nginx container that demonstr… 111
zabbix/zabbix-web-nginx-mysql Zabbix frontend based on Nginx web-server wi… 73 [OK]
bitnami/nginx Bitnami nginx Docker Image 58 [OK]
1and1internet/ubuntu-16-nginx-php-phpmyadmin-mysql-5 ubuntu-16-nginx-php-phpmyadmin-mysql-5 48 [OK]
linuxserver/nginx An Nginx container, brought to you by LinuxS… 42
tobi312/rpi-nginx NGINX on Raspberry Pi / armhf 23 [OK]
blacklabelops/nginx Dockerized Nginx Reverse Proxy Server. 12 [OK]
wodby/drupal-nginx Nginx for Drupal container image 11 [OK]
webdevops/nginx Nginx container 8 [OK]
nginxdemos/hello NGINX webserver that serves a simple page co… 8 [OK]
centos/nginx-18-centos7 Platform for running nginx 1.8 or building n… 8
centos/nginx-112-centos7 Platform for running nginx 1.12 or building … 5
1science/nginx Nginx Docker images that include Consul Temp… 4 [OK]
behance/docker-nginx Provides base OS, patches and stable nginx f… 3 [OK]
travix/nginx NGinx reverse proxy 2 [OK]
pebbletech/nginx-proxy nginx-proxy sets up a container running ngin… 2 [OK]
toccoag/openshift-nginx Nginx reverse proxy for Nice running on same… 1 [OK]
mailu/nginx Mailu nginx frontend 1 [OK]
ansibleplaybookbundle/nginx-apb An APB to deploy NGINX 0 [OK]
其中第一个为官方镜像,拉取name为nginx的镜像:
docker pull nginx
下载完成,查看本地镜像列表:
[root@iZ2zeck5vyquf4xc1v0e4fZ nginx]# docker images nginx
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest dbfc48660aeb 5 days ago 109MB
启动前准备工作
首先,启动Nginx需要配置nginx.conf文件,此文件可以在原有的Nginx配置中找到,也可以在官网下载压缩包,找到对应的nginx.conf、mime.types(nginx.conf中会用到)和conf.d文件目录(nginx.conf可配置加载此文件夹下的配置)。找到以上文件及文件夹之后,放到指定位置,比如:/root/nginx文件夹下。
启动命令
docker run -p 80:80 --name docker-nginx -v /root/nginx/:/etc/nginx/ -d nginx
- -p 80:80:将容器的80端口映射到主机的80端口,第一个为容器80端口,第二个为主机80端口。
- –name 指定docker的名称
- -v 将当前主机的nginx目录挂载到容器的/etc/nginx目录下。其他需要挂载的可重复使用此参数。
完成docker的启动之后,执行docker ps可查看docker的运行情况:
[root@iZ2zeck5vyquf4xc1v0e4fZ ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9cce31704b6d nginx "nginx -g 'daemon of…" 3 days ago Up 41 seconds 0.0.0.0:80->80/tcp docker-nginx
后续可按照nginx的政策使用方式进行操作。
关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台
除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接
本文链接:https://choupangxia.com/2019/07/06/centos-%e5%9f%ba%e4%ba%8edocker%e7%9a%84nginx%e5%ae%89%e8%a3%85/