容器内部署 nginx 静态访问和端口映射

1.设置端口映射

run [-P][-p]
大写的 P 是Docker 会随机映射一个 49000~49900 的端口到内部容器开放的网络端口

1.1映射所有接口地址

使用 hostPort:containerPort 格式本地的 5000 端口映射到容器的 5000 端口,可以执行

$ sudo docker run -d -p 5000:5000 training/webapp python app.py
此时默认会绑定本地所有接口上的所有地址。

1.2映射到指定地址的指定端口

可以使用 ip:hostPort:containerPort 格式指定映射使用一个特定地址,比如 localhost 地址 127.0.0.1

$ sudo docker run -d -p 127.0.0.1:5000:5000 training/webapp python app.py

1.3映射到指定地址的任意端口

使用 ip::containerPort 绑定 localhost 的任意端口到容器的 5000 端口,本地主机会自动分配一个端口。

$ sudo docker run -d -p 127.0.0.1::5000 training/webapp python app.py

1.4查看映射端口配置

使用 docker port 来查看当前映射的端口配置,也可以查看到绑定的地址

$ docker port nostalgic_morse 5000
127.0.0.1:49155.

2. 创建 web 容器

docker run -p 80 --name web -i -t ubuntu /bin/bash

3. 安装 nginx

apt-get install -y nginx

查找已经安装好的 nginx

whereis nainx
查找已经安装好的 nginx

进入配置文件 default.conf


进入配置文件

重修修改自己的网站静态目录


修改配置文件的 root

修改端口号,为容器创建时映射出去的端口号


修改端口号

4.创建静态页面

静态页面不多说

5.启动nginx并且访问静态页面

输入 nginx 启动,ps -ef 在容器内部查看进程,发现进程已经启动


启动

在容器外也可以输入命令查看容器里面的进程情况(容器名字在创建的时候写错了)


查看

也可以在 控制台输入 curl http://127.0.0.1:8888 访问

访问一下

浏览器访问


浏览器访问

6. 重启后

在关闭容器之后
重启还需要再次开启 nginx
采用 exec 加入
docker exec 容器名字 服务

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,908评论 18 139
  • 五、Docker 端口映射 无论如何,这些 ip 是基于本地系统的并且容器的端口非本地主机是访问不到的。此外,除了...
    R_X阅读 1,792评论 0 7
  • 主要思路: 1. Docker Registry 说明 关于如何创建和使用本地仓库,其实已经有很多文章介绍了。因为...
    威谷子阅读 5,710评论 0 30
  • 重庆之旅,印象深刻的有很多,最难忘的是上厕所。 我从来没有见过这样的厕所,蜂拥而至的人山人海,女士们像着了魔一样地...
    MZ1025阅读 321评论 0 0
  • 琼旦增阅读 154评论 2 1