[Docker系列-2] 搭建nginx环境

1、获取Nginx容器端口

首先确保 docker 正在运行:

docker-machine ls

1.1、启动进程

docker run -d -P --name web nginx
  • docker run:启动一个容器
  • -d:后台运行容器
  • -P:开放容器的映射端口,方便你从Mac访问

1.2、查看容器状态

docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                           NAMES
7afc79513310        nginx               "nginx -g 'daemon off"   10 hours ago        Up 5 seconds        0.0.0.0:32769->80/tcp, 0.0.0.0:32768->443/tcp   web

可以看到已经启动nginx服务了

1.3、查看容器端口

docker port web
443/tcp -> 0.0.0.0:32768
80/tcp -> 0.0.0.0:32769

可以看到容器的80端口映射到容器Docker主机的32769端口————监听主机上的32769端口相当于监听容器的80端口。

不过你现在访问http://localhost:32769你会发现找不到服务;

1.4、获取VM的IP

这是因为localhost 和 docker主机不一致,你需要获得VM的IP地址。

docker-machine ip default  #192.168.99.100

现在在浏览器里打开http://192.168.99.100:32769就能看到熟悉的nginx界面了

那如何通过外面主机的公网IP查看效果呢?

STEP 1::查看主机IP

  ~  ifconfig | grep inet
    inet6 ::1 prefixlen 128
    inet 127.0.0.1 netmask 0xff000000
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
    inet6 fe80::62f8:1dff:fea9:bd98%en0 prefixlen 64 scopeid 0x4
    inet 10.2.87.112 netmask 0xfffff800 broadcast 10.2.87.255
    inet6 fe80::645a:84ff:fea9:1515%awdl0 prefixlen 64 scopeid 0x8
    inet 192.168.59.3 netmask 0xffffff00 broadcast 192.168.59.255
    inet 192.168.99.1 netmask 0xffffff00 broadcast 192.168.99.255

可以看到主机有两个IPv4的地址:一个是公网IP10.2.87.112,一个是192.168.59.3 。(请忽略192.168.99.1,因为还启用了另外一个虚拟机产生的)

我们希望能够通过 http://10.2.87.112:10000或者 http://192.168.59.3:10000能够访问到nginx的欢迎界面,直接打开是错误页面,需要进行端口映射操作。

STEP 2 : 设置端口映射

打开虚拟机设置界面,可以看到默认有一条设置了ssh的端口,是将主机的2022端口映射到虚拟机的22端口。为了将主机的10000端口映射到32769端口,我们添加一条映射规则,步骤如下:

好了现在访问 http://10.2.87.112:10000或者 http://192.168.59.3:10000 就能看到熟悉的界面了。

参看文章:VMware NAT端口映射

1.5、关闭容器

最后关闭并移除容器的命令是

$ docker stop web
$ docker rm web

2、挂载文件夹

一旦开启 docker 之后,会自动共享/Users文件夹。 你可以将这个文件夹挂载到容器上。

2.1、创建示例文件夹及文件

$ cd $HOME
$ mkdir site
$ cd site
$ echo "my new site" > index.html

2.2、重启nginx服务并替换Html文件夹

$ docker run -d -P -v $HOME/site:/usr/share/nginx/html --name mysite nginx
$ docker port mysite
80/tcp -> 0.0.0.0:49166
443/tcp -> 0.0.0.0:49165

在浏览器里查看效果: 

2.3、实时更新内容

$HOME/site中添加新的文件:

$ echo "This is cool" > cool.html

2.4、暂停并移除容器

$ docker stop mysite
$ docker rm mysite
时间: 2025-01-24 02:01:25

[Docker系列-2] 搭建nginx环境的相关文章

跪求大神指导docker上怎么搭建Python环境啊,呜呜,给个网址也行啊,百度不到查好多试了都不成功好烦躁,求好心人

问题描述 跪求大神指导docker上怎么搭建Python环境啊,呜呜,给个网址也行啊,百度不到查好多试了都不成功好烦躁,求好心人该问题来自CSDNDocker技术交流群(303806405),由版主xinshubiao整理. 解决方案 解决方案二:B:dockerpulldocker.cn/docker/python或dockerpullpythonhttps://github.com/docker-library/python/blob/master/2/Dockerfile这个是那个镜像的d

在Linux系统下使用Docker以及Weave搭建Nginx反向代理

  Hi, 今天我们将会学习如何使用 Weave 和 Docker 搭建 Nginx 的反向代理/负载均衡服务器.Weave 可以创建一个虚拟网络将 Docker 容器彼此连接在一起,支持跨主机部署及自动发现.它可以让我们更加专注于应用的开发,而不是基础架构.Weave 提供了一个如此棒的环境,仿佛它的所有容器都属于同个网络,不需要端口/映射/连接等的配置.容器中的应用提供的服务在 weave 网络中可以轻易地被外部世界访问,不论你的容器运行在哪里.在这个教程里我们将会使用 weave 快速并且

[Docker系列-1] 搭建docker环境

1.Docker安装 1.1.下载Docker Toolbox 最新的版本使用官方的Docker Toolbox进行安装,Docker Toolbox是用来支持在Mac和Windows平台使用Docker的集成套件:以套件的形式提供,极大地方便了用户获取整套Docker工具: Docker Client Docker Machine Docker Compose (Mac only) Docker Kitematic VirtualBox 正如Docker Compose最终代替了Fig,Doc

[Docker系列·2] 搭建基于Docker的Nginx服务器

docker命令别名 ~/.bashrc # .bashrc alias d="sudo docker" docker的nginx工作目录 /home/erichan/d/nginx docker的Dockerfile # Version: 0.0.1 FROM feuyeux/ssd MAINTAINER Eric Han "feuyeux@gmail.com" RUN apt-get update RUN apt-get -yq install nginx RU

Linux下搭建Nginx环境

一.) 安装Nginx 1.) 安装 Nginx发音为[engine x],是由俄罗斯人Igor Sysoev建立的项目,基于BSD许可.据说他当初是F5的成员之一,英文主页:http://nginx.net.俄罗斯的一些大网站已经使用它超过两年多了,一直表现不凡. 安装nginx之前需要安装pcre包和zlib以支持重写,正则以及网页压缩等等. 安装pcre 下载地址: http://www.pcre.org/ 下载适合自己的版本,然后进行安装: tar zxvf pcre-7.7.tar.g

[Docker系列·3] 搭建基于Docker的NodeJS服务器

0 node应用·盗梦空间 1 docker的NodeJs工作目录 /home/erichan/docker-room/ubuntu-node 2 docker的Dockerfile [erichan@mars-centos7 ubuntu-node]$ nano Dockerfile # Version: 0.0.1 FROM feuyeux/ubuntu-base MAINTAINER Eric Han "feuyeux@gmail.com" RUN apt-get -yq ins

[Docker系列·12] 搭建Kafka服务器

1 Docker-Ubuntu-Kafka 工作目录:/home/erichan/docker-room/ubuntu-kafka 1.1 制作镜像 erichan@ubuntu14_04_1-pd:~/docker-room/ubuntu-zookeeper$ nano Dockerfile # Version: 0.0.1 FROM feuyeux/ubuntu-java7 MAINTAINER Eric Han "feuyeux@gmail.com" RUN apt-get up

[Docker系列·6] 搭建基于Docker的NPM私服Sinopia

制作镜像 Dockerfile # Version: 0.0.1 FROM feuyeux/ubuntu-node MAINTAINER Eric Han "feuyeux@gmail.com" RUN apt-get -yq install make build-essential python python-dev RUN npm install js-yaml sinopia@0.9.1 RUN adduser --disabled-password --gecos "

[Docker系列·4] 搭建基于Docker的Tomcat服务器

0 tomcat应用·盗梦空间 1 Docker-Ubuntu-Java7 工作目录:/home/erichan/docker-room/ubuntu-java7 1.1 制作镜像 [erichan@mars-centos7 ubuntu-java7]$ nano Dockerfile # Version: 0.0.1 FROM feuyeux/ubuntu-base MAINTAINER Eric Han "feuyeux@gmail.com" ENV REFRESHED_AT 20