优质广告供应商

广告是为了更好地支持作者创作

在容器中部署静态网站

设置容器的端口映射

run [-p] [-P]

-p,--publish=[]

containerPort

  • docker run -p 80 -i -t ubuntu /bin/bash

hostPort:containerPort

  • docker run -p 8080:80 -i -t ubuntu /bin/bash

ip::containerPort

  • docker run -p 0.0.0.0:80 -i -t ubuntu /bin/bash

ip:hostPort:containerPort

  • docker run -p 0.0.0.0:8080:80 -i -t ubuntu /bin/bash

-P,--publish-all=true|false 默认false

  • docker run -P -i -t ubuntu /bin/bash

1 创建映射80端口的交互式容器

heyongjindeMacBook-Pro:~ heyongjin$ docker run -p 80 --name web -i -t ubuntu /bin/bash
root@a76c615e9ea4:/#

2 安装Nginx

apt-get update
apt-get install -y nginx

3 安装文本编辑器vim

apt-get install -y vim

4 创建静态页面

root@a76c615e9ea4:/# mkdir -p /var/www/html
root@a76c615e9ea4:/# cd /var/www/html
root@a76c615e9ea4:/var/www/html# vim index.html
root@a76c615e9ea4:/var/www/html# cat index.html
<html>
<head>
<title>Nginx in Docker</title>
</head>
<body>
<h1>Hello,I'm website in Docker!</h1>
</body>
</html>
root@a76c615e9ea4:/var/www/html#

5 修改Nginx配置文件

root@a76c615e9ea4:/var/www/html# whereis nginx
nginx: /usr/sbin/nginx /etc/nginx /usr/share/nginx
root@a76c615e9ea4:/var/www/html# vim /etc/nginx/sites-enabled/default

6 运行Nginx

root@a76c615e9ea4:/var/www/html# nginx

7 验证网站访问

root@a76c615e9ea4:/var/www/html# apt-get install -y curl
root@a76c615e9ea4:/var/www/html# curl http://localhost
<html>
<head>
<title>Nginx in Docker</title>
</head>
<body>
<h1>Hello,I'm website in Docker!</h1>
</body>
</html>
root@a76c615e9ea4:/var/www/html#

8 在宿主机验证网站访问

ctrl + p & ctrl + q

heyongjindeMacBook-Pro:~ heyongjin$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a76c615e9ea4 ubuntu "/bin/bash" 11 hours ago Up 43 minutes 0.0.0.0:32768->80/tcp web
heyongjindeMacBook-Pro:~ heyongjin$ docker inspect web
heyongjindeMacBook-Pro:~ heyongjin$ curl http://172.17.0.2:32768
^C
heyongjindeMacBook-Pro:~ heyongjin$
(Mac没有docker0 ,宿主机无法访问docker 容器 https://docs.docker.com/docker-for-mac/networking/)

优质广告供应商

广告是为了更好地支持作者创作

推荐阅读更多精彩内容

  • Docker官网 Docker文档地址 想在容器中部署静态页面需要做一些准备工作,正常的网页服务运行都是通过80端...
    爱折腾的胖子阅读 1,040评论 0 0
  • 五、Docker 端口映射 无论如何,这些 ip 是基于本地系统的并且容器的端口非本地主机是访问不到的。此外,除了...
    R_X阅读 1,537评论 0 7
  • 优质广告供应商

    广告是为了更好地支持作者创作

  • 第一本Docker书 自动精简配置: thin-provisioning加载device-mapper模块sudo...
    崩芭大酱阅读 1,973评论 0 16
  • 容器,依托Linux内核功能的虚拟化技术 docker 将软件和库部署在主系统上 特点 PaaS platform...
    慧玲说阅读 108评论 0 0
  • 简述docker一些常用的操作 查看到docker是否正常运行docker info 返回所有docker所有容器...
    翼动晴空阅读 849评论 0 10
  • 雏鹰终须独自去飞翔,羊羔总有断乳的一天。你终于迎来了长大成人的18岁,意味着从此人生路你要自己去闯。我们实在割舍不...
    荷_407d阅读 90评论 0 0
  • 优质广告供应商

    广告是为了更好地支持作者创作

  • 你认识你的脸孔,因为你经常从镜子里看到它。此刻有一面镜子,在其中你可以看到完整的自己,看到自己心里所有的事情,所有...
    PSY_JL阅读 90评论 0 0
  • 借用:当人们面临资源稀缺时,就会通过借用相应的时间货金钱来应对突发事件。从长远来看,借用会进一步加剧稀缺。 管窥:...
    易秒阅读 165评论 0 0
  • 这世上大多数的东西都是交换而已。你请别人吃了一顿饭,改天别人再回请你。这叫礼尚往来。 拿了别人的,迟早要还回去。 ...
    小哥不是很帅阅读 104评论 0 1