docker 安装与docker-compose 安装配置nginx

都是以前部署环境时的一些随笔,和各位分享一下

本次的系统环境是centos7.6 

一、安装docker 

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

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

 $ uname -r

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

sudo yum update

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

        看下面第二部分

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

 或

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

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

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

docker 安装与docker-compose 安装配置nginx_第1张图片7、安装docker

sudo yum install docker-ce

#由于repo中默认只开启stable仓库,故这里安装的是最新稳定版17.12.0

docker 安装与docker-compose 安装配置nginx_第2张图片

8、启动并加入开机启动

sudo systemctl start docker 
sudo systemctl enable docker

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

docker version

docker 安装与docker-compose 安装配置nginx_第3张图片

 二、遇到的问题

1、因为之前已经安装过旧版本的docker,在安装的时候报错如下:

Transaction check error: file /usr/bin/docker from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64 file /usr/bin/docker-containerd from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64 file /usr/bin/docker-containerd-shim from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64 file /usr/bin/dockerd from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64

2、卸载旧版本的包

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

docker 安装与docker-compose 安装配置nginx_第4张图片

3、再次安装docker

sudo yum install docker-ce

 OK  后续查看 下docker version 即可

三、docker-compose安装

1、安装 Docker Compose 可以通过下面命令自动下载适应版本的 Compose,并为安装脚本添加执行权限

sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

创建软连接,不然通过命令行查看docker-compose -version不会输出对应的版本

ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

2、获取nginx 镜像

docker pull nginx

docker 安装与docker-compose 安装配置nginx_第5张图片 拉完先放着,不用管它了

3、配置docker-compose

建议可以现在本地写好之后上传到环境上 我这边是上传到/mnt文件夹下

新建一个docker-compose.yaml 文件,书写配置,注意ports和volumes 自己要对应

# 使用说明 V3.2.0
# docker-compose up
version: '3.0'
services:
  nginx:
    hostname: nginx
    environment:
      TZ: Asia/Shanghai
    restart: always
    logging:
      driver: "json-file"
      options:
        max-size: "500m"
    container_name: docker-nginx
    image: nginx:latest
    ports:
      - 80:80
      - 443:443
      - 8888:8888
      - 8889:8889
    volumes:
      - /data2:/data2
      - ./nginx/conf/nginx.conf:/etc/nginx/nginx.conf
      - ./nginx/logs:/var/log/nginx

 4、配置nginx文件

配置文件对应在docker-compose的路径,nginx主要代码段


worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #access_log  logs/access.log  main;

    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       8888;
        server_name  192.168.16.119;
        
        location / {
            root   /mnt/ind_web;
            try_files $uri $uri/ @router;
            index index.html;		
        }
        # 映射后台接口
		location /api {
            proxy_pass http://192.168.16.118:8088/;
            proxy_redirect off;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            client_max_body_size 10m;
            client_body_buffer_size 128k;
            proxy_connect_timeout 90;
            proxy_send_timeout 90;
            proxy_read_timeout 90;
            proxy_buffer_size 4k;
            proxy_buffers 4 32k;
            proxy_busy_buffers_size 64k;
            proxy_temp_file_write_size 64k;
        		proxy_set_header Upgrade $http_upgrade;
        		proxy_set_header Connection "upgrade";
			proxy_cookie_path  /api /;

         }

        location @router {
            rewrite ^.*$ /index.html last;
        }

        
    }

	server {
        listen       8889;
        server_name  192.168.16.119;

        location / {
            root   /mnt/ind_pcweb;
            try_files $uri $uri/ @router;
            index index.html;		

        }
        location @router {
            rewrite ^.*$ /index.html last;
        }
    }

}

4、启动-执行

进入文件存放位置执行

docker-compose  up -d nginx

启动完毕之后查看状态和映射端口

docker ps

之前的图挂了 ,现场去开发环境截了个图

 然后就可以根据nginx的配置去修改前端后端的映射地址了

常用的一些命令

#启动
docker-compose start

#停止但不删除
docker-compose stop

# 重启
docker-compose restart 

#停用移除所有容器以及网络相关
docker-compose down

#查看所有容器 (带名称则查看某个容器)
docker-compose ps 

#查看nginx的日志 
docker-compose logs  nginx   

#查看nginx的实时日志                  
docker-compose logs -f nginx      
             
#进入容器
docker-compose exec nginx bash

你可能感兴趣的:(docker,docker,java,nginx)