基于CentOS用Docker+Nginx部署静态页面

1.安装Docker

这里用的是阿里巴巴镜像站提供的方法安装Docker-CE(社区版的Docker,免费的)

# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3: 更新并安装Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
# Step 4: 开启Docker服务
sudo service docker start

2. 更换国内的镜像源,拉镜像的速度快一些

# 编辑如下文件
vi /etc/docker/daemon.json
#直接添加如下镜像源
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}

3. 基于Dockerfile构建我们自己的镜像

创建、编写dockerfile

# 设置基础镜像
FROM nginx
# 创作者 nosaj
MAINTAINER nosaj
# 将nginx/html/文件中的内容复制到 /usr/share/nginx/html/ 这个目录下面 注意路径
COPY nginx/html/  /usr/share/nginx/html/ 
COPY nginx/nginx.conf /etc/nginx/nginx.conf 
RUN echo 'complate'

创建、编写nginx.conf

worker_processes  1;

events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    server {
        listen       80;
        server_name  47.108.89.174;

        location / {
           add_header Access-Control-Allow-Origin: *; 
           add_header Access-Control-Allow-Headers X-Requested-With; 
           add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
           root   /usr/share/nginx/html;
           index  index.html index.htm;
           try_files $uri $uri/ /index.html;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

构建镜像

#在dockerfile目录下输入以下指令 回车
docker build . -t myProject:1.0

构建成功后输入docker images
可以看到构建成功的镜像

[root@iZ2vcietsnr7fvzxr3qbx4Z ~]# docker images
REPOSITORY                            TAG                 IMAGE ID            CREATED             SIZE
myProject                             1.0                 27638bfc4d38        25 minutes ago      135MB

4.运行镜像

docker run -p [你要映射的端口]:[nginx默认端口80] 镜像名称:镜像版本
示例:

docker run -p 8080:80 myProject:1.0

你可能感兴趣的:(基于CentOS用Docker+Nginx部署静态页面)