Centos7+docker+nginx部署静态网页

Centos7下安装docker+nginx部署

Centos7 内核大于3.10,可使用命令 uname -r 查看

2017年3月后,docker划分为Docker CE(社区免费版)和Docker EE(企业版)

此文中部署的是静态网页,动态网页也可以作为参考

安装Docker CE

  • 安装一些必要的系统工具

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

  • 添加软件源信息,使用阿里的镜像源

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

  • 更新 yum 缓存

sudo yum makecache fast

  • 安装

sudo yum -y install docker-ce

  • 启动Docker后台服务

sudo systemctl start docker

Docker中安装nginx

  • 直接拉取nginx镜像

docker pull nginx

  • 查看所有镜像

docker ps -a

  • 运行一个容器实例并映射端口,8081为主机端口,80为容器端口

docker run --name nginx-test -p 8081:80 -d nginx

  • 测试容器

curl 127.0.0.1:8081

使用外网测试需要先开放8081端口(同时开启8082端口,后面需要用到),如果使用的是阿里云主机,需要在控制台中设置主机的防火墙。

开放端口或控制台设置请参考此文章

nginx 部署

  • 创建nginx目录

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

  • 拷贝容器内 Nginx 默认配置文件到本地当前目录下的 conf 目录

docker ps 查看容器信息,复制容器CONTAINER ID替换‘6dd4380ba708’

docker cp 6dd4380ba708:/etc/nginx/nginx.conf ~/nginx/conf

执行部署

上传代码

此处使用的是ZIP压缩及解压,其他文件类型可以自己搜一下

  • 进入'~/nginx/www'目录下

cd ~/nginx/www

  • 安装lrzsz工具

yum install lrzsz

  • 安装解压工具

yum install -y unzip zip

  • 上传文件

rz -y 找到网页的压缩文件,点击打开

  • 解压文件

unzip filename.zip

  • 设置容器, 'nginx-test-web'为自定义容器名称

docker run -d -p 8082:80 --name nginx-test-web -v ~/nginx/www:/usr/share/nginx/html -v ~/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v ~/nginx/logs:/var/log/nginx nginx

  • 测试

    • 本机测试

    curl 127.0.0.1:8082 或使用本机的浏览器访问

    • 外网访问,需要先开放端口

    打开浏览器输入'ip:8082',ip 为主机的ip地址

    开放端口或阿里云控制台设置请参考此文章

更新数据

  • 替换掉 /nginx/www 中的文件

  • 重新启动容器

docker restart xxx xxx 为容器ID的前三个字符, 可使用 docker ps 查看

Docker 部分命令

镜像操作

  • 拉取官网镜像

docker pull imageName

  • 删除Docker CE

sudo yum remove docker-ce

sudo rm -rf /var/lib/docker

  • 自定义镜像及上传,请自行搜索

容器操作

  • 启动容器(首次),'set_name'为自定义容器名称,'image'为镜像名称,'-d'为后台运行不受SSH或命令行窗口影响

docker run -d -p hostport:containerport --name set_name image

  • 查看正在运行的容器

docker ps

  • 查看所有容器

docker ps -a

  • 启动容器(已存在的容器)

docker start containername

  • 停止容器

docker stop containername

  • 删除容器

docker rm -f containername

  • Tips: 'containername' 可以使用容器ID的前三位代替,因为容器ID的前三位可以唯一确定一个容器

原文地址:菜鸟教程~Docker教程

你可能感兴趣的:(Centos7+docker+nginx部署静态网页)