Docker安装运行Nginx-阿里云开发者社区

开发者社区> 鬼潇雨> 正文

Docker安装运行Nginx

简介:
+关注继续查看

关于Docker运行Nginx的文章层出不穷,鄙人推荐http://www.runoob.com/docker/docker-install-nginx.html这篇文章中介绍的两种方法。在这里,我着重介绍下第二种方法吧,直接从docker Hub上拉取Nginx镜像,供我们使用。

 这里,我在虚拟机中安装了CentOS7,然后,安装docker,这一步,就不必详细介绍了。假设,你已经成功安装了docker。我这里安装的版本是1.13.1,API版本1.26,
Client:
 Version:         1.13.1
 API version:     1.26
 Package version: <unknown>
 Go version:      go1.8.3
 Git commit:      774336d/1.13.1
 Built:           Wed Mar  7 17:06:16 2018
 OS/Arch:         linux/amd64

Server:
 Version:         1.13.1
 API version:     1.26 (minimum version 1.12)
 Package version: <unknown>
 Go version:      go1.8.3
 Git commit:      774336d/1.13.1
 Built:           Wed Mar  7 17:06:16 2018
 OS/Arch:         linux/amd64
 Experimental:    false

首先,创建一个目录:

mkdir -p ~/nginx/www ~/nginx/logs ~/nginx/conf

命令进入nginx目录。

然后,我们通过docker search命令,来检索nginx镜像

docker search nginx
INDEX       NAME                                                             DES                                                                                                                                                    CRIPTION                                     STARS     OFFICIAL   AUTOMATED
docker.io   docker.io/nginx                                                  Off                                                                                                                                                    icial build of Nginx.                        8564      [OK]
docker.io   docker.io/jwilder/nginx-proxy                                    Aut                                                                                                                                                    omated Nginx reverse proxy for docker c...   1335                 [OK]
docker.io   docker.io/richarvey/nginx-php-fpm                                Con                                                                                                                                                    tainer running Nginx + PHP-FPM capable ...   547                  [OK]
docker.io   docker.io/jrcs/letsencrypt-nginx-proxy-companion                 Let                                                                                                                                                    sEncrypt container to use with nginx as...   368                  [OK]
docker.io   docker.io/kong                                                   Ope                                                                                                                                                    n-source Microservice & API Management ...   188       [OK]
docker.io   docker.io/webdevops/php-nginx                                    Ngi                                                                                                                                                    nx with PHP-FPM                              103                  [OK]
docker.io   docker.io/kitematic/hello-world-nginx                            A l                                                                                                                                                    ight-weight nginx container that demons...   99
docker.io   docker.io/bitnami/nginx                                          Bit                                                                                                                                                    nami nginx Docker Image                      52                   [OK]
docker.io   docker.io/zabbix/zabbix-web-nginx-mysql                          Zab                                                                                                                                                    bix frontend based on Nginx web-server ...   51                   [OK]
docker.io   docker.io/1and1internet/ubuntu-16-nginx-php-phpmyadmin-mysql-5   ubu                                                                                                                                                    ntu-16-nginx-php-phpmyadmin-mysql-5          35                   [OK]
docker.io   docker.io/linuxserver/nginx                                      An                                                                                                                                                     Nginx container, brought to you by Linu...   35
docker.io   docker.io/tobi312/rpi-nginx                                      NGI                                                                                                                                                    NX on Raspberry Pi / armhf                   19                   [OK]
docker.io   docker.io/nginxdemos/nginx-ingress                               NGI                                                                                                                                                    NX Ingress Controller for Kubernetes . ...   11
docker.io   docker.io/blacklabelops/nginx                                    Doc                                                                                                                                                    kerized Nginx Reverse Proxy Server.          9                    [OK]
docker.io   docker.io/wodby/drupal-nginx                                     Ngi                                                                                                                                                    nx for Drupal container image                9                    [OK]
docker.io   docker.io/webdevops/nginx                                        Ngi                                                                                                                                                    nx container                                 8                    [OK]
docker.io   docker.io/centos/nginx-18-centos7                                Pla                                                                                                                                                    tform for running nginx 1.8 or building...   6
docker.io   docker.io/nginxdemos/hello                                       NGI                                                                                                                                                    NX webserver that serves a simple page ...   6                    [OK]
docker.io   docker.io/1science/nginx                                         Ngi                                                                                                                                                    nx Docker images that include Consul Te...   4                    [OK]
docker.io   docker.io/centos/nginx-112-centos7                               Pla                                                                                                                                                    tform for running nginx 1.12 or buildin...   3
docker.io   docker.io/behance/docker-nginx                                   Pro                                                                                                                                                    vides base OS, patches and stable nginx...   2                    [OK]
docker.io   docker.io/pebbletech/nginx-proxy                                 ngi                                                                                                                                                    nx-proxy sets up a container running ng...   2                    [OK]
docker.io   docker.io/toccoag/openshift-nginx                                Ngi                                                                                                                                                    nx reverse proxy for Nice running on sa...   1                    [OK]
docker.io   docker.io/travix/nginx                                           NGi                                                                                                                                                    nx reverse proxy                             1                    [OK]
docker.io   docker.io/mailu/nginx                                            Mai                                

然后,通过docker pull命令,从远程拉取nginx镜像,命令如下:

docker pull nginx

拉取成功后,我们可以通过docker images命令,查看镜像:

[root@localhost nginx]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/nginx     latest              ae513a47849c        4 weeks ago         109 MB

然后,通过docker run命令启动容器,运行镜像:

[root@localhost nginx]#  docker run -p 80:80 --name mynginx -v $PWD/www:/www -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf --privileged=true -v $PWD/logs:/www/logs -v $PWD/html:/etc/nginx/html  -d nginx

这里,-v $PWD/www:/www把主机当前目录下的www目录绑定到了docker中www目录。需要注意的是,

由于docker容器需要对nginx.conf的访问权限,因此,绑定nginx.conf文件时,后面添加--privileged=true命令。

通过docker ps命令,查看容器运行状况

[root@localhost nginx]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
5b3e68a0d311        nginx               "nginx -g 'daemon ..."   26 minutes ago      Up 26 minutes       0.0.0.0:80->80/tcp   mynginx

也可以通过,docker ps -a查看所有容器,包括已经退出的容器。

经过以上步骤,nginx镜像已经成功在docker容器中运行,接下来,我们通过访问http://localhost来验证,正常情况下:

这样,我们的nginx已经启动成功了。

104656_QtUM_584165

注意事项:

1、如果出现运行容器后,docker ps没有发现容器进程,说明容器启动过程发生错误闪退,可以通过docker ps -a看到闪退的容器,然后,通过docker logs 容器名或容器ID来查看docker日志,里面记录了容器启动发生错误的原因,找到问题所在,就好办了。

这个过程中,还会经常用到docker rm移除容器的命令,docker logs 查看容器日志,docker stop/start/restart等停止/启动/重启命令。

由此,docker中运行NGINX的过程就完成了,一回生,二回熟,nginx的配置到启动,只需要秒秒钟。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
第一章:docker安装
我的安装环境是CentOS7.x 安装 安装命令:wget -qO- https://get.docker.com | sh或者yum -y install docker-io 安装完成.png 图片中说,如果你想不用root用户来使用docker,你要考虑添加你的用户到docker 组,命令如下:sudo usermod -aG docker your-user,我在这里不演示,我用root用户。
709 0
centos 安装docker
Docker的简介Docker 是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源。让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。
340 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,大概有三种登录方式:
2852 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
10502 0
Docker安装Python3.5
方法一、通过 Dockerfile 构建 创建Dockerfile 首先,创建目录python,用于存放后面的相关东西。 mkdir -p ~/python ~/python/myapp myapp目录将映射为python容器配置的应用目录 进入创建的python目录,创建Dockerfile ...
3848 0
Docker 内部安装Nginx精简版
经过多次安装调试找到了,简洁方便的安装方法。
1787 0
Docker系列教程02-Docker安装(CentOS7/Ubuntu/macOS/Windows)
原文:http://www.itmuch.com/docker/02-docker-install/ 2.1 CentOS 2.1.1 系统要求 CentOS 7或更高版本 centos-extras 仓库必须处于启用状态,该仓库默认启用,但如果您禁用了该仓库,请按照https://wiki.centos.org/AdditionalResources/Repositories 中的描述重新启用。
1365 0
docker 安装及使用 hello word
安装 yum -y install docker-io 启动docker service docker start 关闭docker service docker stop 查看版本 docker version 查看信息 docker info 注意,docker默认只能在root用户下运行命令,但可以把用户加入到docker组,是用户拥有docker命令权限,命令如
12302 0
+关注
鬼潇雨
7年从事项目管理、Java技术研发、.NET跨平台、系统研发及运维。致力于与打造在线教育行业优质的信息化服务。
25
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载