Dockerはnginxとmysqlおよびバックエンドサービスをデプロイします

まず、サーバーにDockerがインストールされていることを確認します

1つ、mysql

1.docker-composeをインストールします

Composeは、Linux、macOS、およびWindows10プラットフォームをサポートします。コンパイルされたバイナリファイルで直接ダウンロードされた公式のGitHubリリースから、Linuxにインストールするのも非常に簡単です。

curl -L https://github.com/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

検証

docker-compose version

# 输出如下
docker-compose version 1.24.0, build 0aa59064
docker-py version: 3.7.2
CPython version: 3.6.8
OpenSSL version: OpenSSL 1.1.0j  20 Nov 2018

2.mysqlをインストールします

docker pull mysql:5.7

mysql的docker-compose

version: '3.0'
services:
  db:
    # 目前 latest 版本为 MySQL8.x
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: w13579
    command:
      --default-authentication-plugin=mysql_native_password
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_general_ci
      --explicit_defaults_for_timestamp=true
      --lower_case_table_names=1
      --sql-mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
    ports:
      - 3306:3306
  

次に、次のコマンドを実行します。docker-composeup -d

2、nginx

nginx的docker-作成

version: '2.0'

services:
  nginx:
    restart: always
    image: nginx:latest
    ports:
      - 8080:80
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
      - ./log:/var/log/nginx
      - ./html:/usr/share/nginx/html

データボリュームのマウント

mkdir nginx

nginxフォルダー内:nginx.conf、log、フロントエンドhtml

それらの中で:nginx.conf

# 启动进程,通常设置成和 CPU 的数量相等
worker_processes  1;
events {
    # epoll 是多路复用 IO(I/O Multiplexing) 中的一种方式
    # 但是仅用于 linux2.6 以上内核,可以大大提高 nginx 的性能
    use epoll;
    # 单个后台 worker process 进程的最大并发链接数
    worker_connections  1024;
}
http {
    # 设定 mime 类型,类型由 mime.type 文件定义
    include       mime.types;
    default_type  application/octet-stream;
    # sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,对于普通应用,
    # 必须设为 on,如果用来进行下载等应用磁盘 IO 重负载应用,可设置为 off,以平衡磁盘与网络 I/O 处理速度,降低系统的 uptime.
    sendfile        on;
    # 连接超时时间
    keepalive_timeout  65;
    # 设定请求缓冲
    client_header_buffer_size 2k;
    # 配置虚拟主机 192.168.80.142
    server {
    # 监听的 IP 和端口,配置 192.168.80.142:80
        listen       80;
    # 虚拟主机名称这里配置 IP 地址
        server_name  192.168.239.128;
    # 所有的请求都以 / 开始,所有的请求都可以匹配此 location
        location / {
            # 使用 root 指令指定虚拟主机目录即网页存放目录
            # 比如访问 http://ip/index.html 将找到 /usr/local/docker/nginx/html/html80/index.html
            root   /usr/share/nginx/html/build;
            # 指定欢迎页面,按从左到右顺序查找
            index  index.html index.htm;
        }
    }
}

3つのバックエンドサービス

docker-compose.yml

version: '3'
services:
  catalogue-server:
    image: 10.1.119.12/gx/catalogue-server:test
    network_mode: "host"
    restart: always
    container_name: catalogue
    environment:
        MYSQL_IP_PORT: "localhost:3306"
        MYSQL_DB_NAME: "homework"
        MYSQL_USERNAME: "root"
        MYSQL_PASSWORD: "w13579"

 

おすすめ

転載: blog.csdn.net/shujuelin/article/details/108845438