Docker 安装使用nginx + vue-cli

最近公司在开发一台基于vuejs+springCloud+SpringBoot  + docker 的项目。要使用nginx作为反向代理工具,记录一下搭建的过程。

由于要在专网上进行nginx搭建,专网上无法上网,只能在自己本地机器上使用vmware搭建了虚拟机,虚机上安装了centos系统。

对网路这块不是很熟悉,所以在虚拟的网络设置上耽误了很多时间这里不做详细说明。

  • docker 服务搭建

  • 拉取镜像

  • nginx 反向代理设置

  • 验证

Docker 安装

docker 的安装参考了

https://www.cnblogs.com/yufeng218/p/8370670.html  博客

Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。

通过 uname -r 命令查看你当前的内核版本

$ uname -r

2、使用 root 权限登录 Centos。确保 yum 包更新到最新。

$ sudo yum update

3、卸载旧版本(如果安装过旧版本的话)

$ sudo yum remove docker docker-common docker-selinux docker-engine

4、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

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

5、设置yum源

$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

6、可以查看所有仓库中所有docker版本,并选择特定版本安装

$ yum list docker-ce --showduplicates | sort -r

7、安装docker

$ sudo yum install docker-ce #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版17.12.0

$ sudo yum install # 例如:sudo yum install docker-ce-17.12.0.ce

8、启动并加入开机启动

$ sudo systemctl start docker

$ sudo systemctl enable docker

9、验证安装是否成功(有client和service两部分表示docker安装启动都成功了)

$ docker version

10、卸载旧版本的包

$ sudo yum erase docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64

拉取镜像

1: 在docker镜像仓库中查询nginx:docker search nginx

 

2:拉取镜像:docker pull jwilder/nginx-proxy

 

3:运行镜像:

    命令启动:docker run -d -p 80:80 -v /var/run/docker.sock:/tmp/docker.sock:ro jwilder/nginx-proxy

    yml文件启动:我将/usr/share/nginx/html和/etc/nginx/nginx.conf映射了出来,方便修改

version: '3'

services:

  nexus:

    image: '192.168.11.11:5000/jwilder/nginx-proxy:latest'

    networks:

      - network-hh

    ports:

      - "8999:80"

    volumes:

      - /usr/share/nginx/html:/usr/share/nginx/html

      - /etc/nginx/nginx.conf:/etc/nginx/nginx.conf

      - /var/run/docker.sock:/tmp/docker.sock:ro

networks:

  fd-netword:

    external: true

 

 

4: 将原来的配置ngnix.conf

user www-data;

worker_processes auto;

pid /run/nginx.pid;

 

events {

    worker_connections 768;

    # multi_accept on;

}

 

http {

 

 

    sendfile on;

    tcp_nopush on;

    tcp_nodelay on;

    keepalive_timeout 65;

    types_hash_max_size 2048;

    # server_tokens off;

 

    # server_names_hash_bucket_size 64;

    # server_name_in_redirect off;

 

    server {

       

        listen 80 default_server;

        listen [::]:80 default_server;

        # 如果你把dist放在了其他目录下,那么这里就要改成那个目录

        root /usr/share/nginx/html;

        

        # server_name是你网站的域名,如果没有域名就写ip

        server_name 1.2.3.4;

 

        index index.html;

        location / {

            try_files $uri $uri/ @rewrites;

        }

 

        location @rewrites {

            rewrite ^(.+)$ /index.html last;

        }

 

        location ~* \.(?:ico|css|js|gif|jpe?g|png)$ {

            expires max;

            add_header Pragma public;

            add_header Cache-Control "public, must-revalidate, proxy-revalidate";

        }

    }

 

    include /etc/nginx/mime.types;

    default_type application/octet-stream;

 

    ##

    # SSL Settings

    ##

 

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE

    ssl_prefer_server_ciphers on;

 

    ##

    # Logging Settings

    ##

 

    access_log /var/log/nginx/access.log;

    error_log /var/log/nginx/error.log;

 

    ##

    # Gzip Settings

    ##

 

    gzip on;

    gzip_disable "msie6";

 

    # gzip_vary on;

    # gzip_proxied any;

    # gzip_comp_level 6;

    # gzip_buffers 16 8k;

    # gzip_http_version 1.1;

    # gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

 

    ##

    # Virtual Host Configs

    ##

 

    include /etc/nginx/conf.d/*.conf;

    #include /etc/nginx/sites-enabled/*;

 

}

 

5:将dist目录下所有的文件copy到/usr/share/nginx/html目录下(不包含dist)

 

6:重启docker,访问相应的地址ip:port/indes.html。出现部署的页面就ok!

 

 

 

 

 

 

 

 

你可能感兴趣的:(随笔)