Docker学习笔记 - Docker部署nginx网站

一、制作 nginx 镜像
1、下载配置文件
- mkdir /opt/nginx_docker && cd /opt/nginx_docker
- mkdir nginx && cd nginx
- wget https://raw.githubusercontent.com/jamtur01/dockerbook-code/master/code/5/sample/nginx/global.conf
- wget https://raw.githubusercontent.com/jamtur01/dockerbook-code/master/code/5/sample/nginx/nginx.conf
- cd ..
2、编写Dockerfile&&制作镜像
cd /opt/nginx_docker
vi Dockerfile
- docker build -t liangshengqi/nginx .
- docker history xxxxxxx
FROM ubuntu: 14.04
MAINTAINER: LIANGSHENGQI "liangshengqi@inspur.com"
ENV REFRESHED_AT 2017-11-14
RUN apt-get update
RUN apt-get -y -q install nginx
RUN mkdir -p /var/www/html
ADD nginx/global.conf /etc/nginx/conf.d/
ADD nginx/nginx.conf /etc/nginx/nginx.conf
EXPOSE 80
3、运行nginx镜像/创建容器
cd nginx_docker
mkdir website && cd website
wget https://raw.githubusercontent.com/jamtur01/dockerbook-code/master/code/5/sample/website/index.html
docker run -d -p 80 --name myweb -v /opt/nginx_docker/website:/var/www/html/website lexiaofei/nginx nginx
查看日志 docker logs -f myweb
二、在容器内安装运行 nginx
1、启动容器
设置端口映射,允许访问容器的80端口
- -P 为所有端口映射
- -p 指定映射端口
- docker run -p 80 -i -t ubuntu /bin/bash
- docker run -p 8080:80 -i -t ubuntu /bin/bash
- docker run -p 0.0.0.0:80 -i -t ubuntu /bin/bash
- docker run -p 0.0.0.0:8080:80 -i -t ubuntu /bin/bash
#创建映射80端口的交互式容器
- docker run -p 80 --name web ubuntu /bin/bash
2、安装nginx
#安装nginx, 安装vim,创建静态页面
容器内#apt-get install -y nginx
容器内#apt-get install -y vim
容器内#mkdir -p /var/www/html
容器内#cd /var/www/html
容器内#vi index.html
<html>
<head><title>Hello</title></head>
<body>
<h1>Hahaha!</h1>
</body>
</html>
#修改nginx配置文件
whereis nginx
ls /etc/nginx
vim /etc/nginx/sites-enabled/default
root /var/www/html/index.html
3、#运行nginx
启动nginx(此时在容器内,所以在容器内运行)::nginx
查看正在运行的进程(此时在容器内,所以列出的是容器内的正在运行的进程)::ps -ef
退出容器::ctrl+p/ctrl+q
列出正在运行的容器:docker ps -a
列出指定的容器的端口映射::docker port web
4、#验证网站访问
curl http://127.0.0.1:49167
docker inspect web
curl http://172.17.0.32/
docker stop web
docker start -i web
ctrl+p/q
在容器内启动进程::docker exec web nginx
查看容器内运行的进程::docker top web
curl http://172.17.0.32 # 这次不行了,重新启动后ip变了!
Docker学习笔记 - Docker部署nginx网站的更多相关文章
- Docker学习笔记 — Docker私有仓库搭建
Docker学习笔记 — Docker私有仓库搭建 目录(?)[-] 环境准备 搭建私有仓库 测试 管理仓库中的镜像 查询 删除 Registry V2 和Mavan的管理一样,Dockers ...
- Docker学习笔记之-部署.Net Core 3.1项目到Docker容器,并使用Nginx反向代理(CentOS7)(一)
上一节演示如何安装Docker,链接:Docker学习笔记之-在CentOS中安装Docker 本节演示 将.net core 3.1 部署到docker容器当中,并使用 Nginx反向代理,部署平台 ...
- Docker学习笔记 - Docker容器内部署redis
Docker学习笔记(2-4)Docker应用实验-redist server 和client的安装使用 一.获取redis容器(含客户端和服务端) 二.创建服务端容器 1.在终端A中运行redis- ...
- Docker学习笔记 - Docker容器之间的连接
学习目标: 容器之间可以相互连接访问:: --link redis:redisAlias 准备工作 FROM ubuntu:14.04 RUN apt-get install -y ping RUN ...
- Docker学习笔记 — Docker私有仓库搭建【转载】
标签: Docker 2015-03-10 21:08 24190人阅读 评论(0) 收藏 举报 分类: Docker(26) 目录(?)[+] 和Mavan的管理一样,Dockers不仅 ...
- Docker学习笔记 - Docker的守护进程
学习目标: 查看Docker守护进程的运行状态 启动.停止.重启Docker守护进程 Docker守护进程的启动选项 修改和查看Docker守护进程的启动选项 1.# 查看docker运行状态 方 ...
- Docker学习笔记 - Docker客户端和服务端
学习内容: Docker客户端和服务端的通讯方式:client和自定义程序 Docker客户端和服务端的连接方式:socket 演示Docker客户端和服务端之间用remote-api通讯:nc ...
- Docker 学习笔记 ---Docker组件
Docker组件 1. 客户端:dockerclient 2. 服务端:dockerserver 3. Docker镜像 4. Registry 5. Docker 容器 Docker客户端 ...
- Docker学习笔记 - Docker的镜像
一个容器实际上是运行在宿主机上的一个进程. 只不过在启动这个进程之前进行了一些特殊处理,让这个容器进入了一个全新的虚拟环境,与宿主机的环境分开, 所以这个进程及其子进程认为自己运行在一个独立的世界里面 ...
随机推荐
- MySQL多数据源笔记4-Mycat中间件实战
Mycat 是数据库中间件,就是介于数据库与应用之间,进行数据处理与交互的中间服 务.由于前面讲的对数据进行分片处理之后,从原有的一个库,被切分为多个分片数据库,所有的分片数据库集 群构成了整个完整的 ...
- Python函数案例——员工信息管理
员工信息管理 简单的员工信息增删改查程序 表信息 1,Alex Li,22,13651054608,IT,2013‐04‐01 2,Jack Wang,28,13451024608,HR,2015‐0 ...
- Java基础知识回顾之一 ----- 基本数据类型
前言 在开始工作至今,学习各种各样的技术之中发现自己的很多Java的基础知识都忘了⊙﹏⊙b汗... 而且越是学习越是发现Java基础的重要性,所以准备单独抽一下时间进行Java基础的重新学习.在重新学 ...
- 通过IF({1,0}和VLOOKUP函数实现Excel的双条件多条件查找的方法
在Excel中,通过VLOOKUP函数可以查找到数据并返回数据.不仅能跨表查找,同时,更能跨工作薄查找. 但是,VLOOKUP函数一般情况下,只能实现单条件查找. 如果想通过VLOOKUP函数来实现双 ...
- VirboxLM许可管理平台,一站式软件保护解决方案
安全,易用,灵活 轻松解决开发者软件版权保护难题 Virbox LM为企业提供安全易用的软件保护管理平台,实现高安全强度的软件防护,防止盗版及逆向工程.实现便捷.安全的软件授权,包括创建灵活的许可模式 ...
- firemonkey EDit 改变颜色
PS:本来不应该有多难,结果折腾了半天, firemonkey EDit Canvas 按需绘颜色 procedure TForm.EditPaint(Sender: TObject; Canvas ...
- 第八届蓝桥杯省赛17【java B组】第一题
1,标题: 购物单 小明刚刚找到工作,老板人很好,只是老板夫人很爱购物.老板忙的时候经常让小明帮忙到商场代为购物.小明很厌烦,但又不好推辞. 这不,XX大促销又来了!老板夫人开出了长长的购 ...
- oracle session数激增排查过程
我们的生产系统使用的是oracle 11G RAC,昨天突然收到微信告警通知session数达到450个,平时的session数在200个左右. select username,status,mach ...
- Spring Boot Druid数据源配置
package com.hgvip.config; import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.su ...
- 教你怎么样在大陆直接使用google搜索
一.环境准备 我们需要一个nginx的模块来进行设置,ngx_http_google_filter_module.前提我们是有一个海外的VPS,并且可以访问谷歌,我的VPS是亿速云香港的. 首先先感受 ...