网站首页 > 精选教程 正文
环境推荐使用:Centos7
docker 环境搭建可以自己在网上找教程,文章中就不再说明了。
docker-compose 安装
sudo curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
DaoCloud 镜像配置
curl -L https://get.daocloud.io/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
tars 环境搭建 docker-compose 文件
version: "3"
services:
tars:
image: tarscloud/tars:php
# 自定义容器名称
container_name: tars
# 自定义宿主机与容器之间的端口映射
ports:
- "3000:3000"
- "80:80"
- "20000-20005:20000-20005"
# 挂载宿主机与容器之间的文件路径
volumes:
- /c/Users/tars_data:/data
- /c/Users:/root/TarsShare
# 自定义所需环境变量
environment:
# 此选项用于将Tars的系统进程的数据目录挂载到 /data 目录之下
- MOUNT_DATA=true
# 数据库ip 可以使用容器名来获取动态分配的ip地址
- DBIP=mysql
# 数据库端口
- DBPort=3306
# 数据库使用者
- DBUser=root
# 数据库密码
- DBPassword=tars2015
# 依赖服务
depends_on:
- mysql
# 所属网络
networks:
- kong-net
# 设置容器访问宿主机权限
privileged: true
restart: always
mysql:
image: mysql:5.7.28
container_name: mysql
ports:
- "3306:3306"
volumes:
# 挂载数据库目录
- "/c/Users/mysql_data:/var/lib/mysql"
environment:
# 设置数据库密码
- "MYSQL_ROOT_PASSWORD=tars2015"
networks:
- "kong-net"
privileged: true
restart: "always"
command:
# 设置支持全零的date字段值
- --sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
# window下mysql不能使用aio
- --innodb_use_native_aio=0
nginx:
image: "nginx:latest"
container_name: "nginx"
privileged: true
ports:
- "12226:12226"
- "1234:1234"
- "12345:80"
volumes:
- "/c/Users/nginx/web:/usr/share/nginx/html"
- "/c/Users/nginx/vhost:/etc/nginx/conf.d"
- "/c/Users/nginx/nginx.conf:/etc/nginx/nginx.conf"
depends_on:
- tars
networks:
- "kong-net"
redis:
image: "redis:latest"
container_name: "redis"
restart: "always"
volumes:
- "/c/Users/redis:/etc/redis"
ports:
- "6379:6379"
command:
# 数据本地写入应用
- --appendonly yes
networks:
- "kong-net"
kong:
image: "kong:latest"
container_name: "kong"
ports:
- "8000:8000"
- "8001:8001"
- "8443:8443"
- "8444:8444"
environment:
# kong 信息输出设置
- "KONG_ADMIN_ACCESS_LOG=/dev/stdout"
- "KONG_ADMIN_ERROR_LOG=/dev/stderr"
# 监听ip + port
- "KONG_ADMIN_LISTEN=0.0.0.0:8001"
- "KONG_CASSANDRA_CONTACT_POINTS=kong-postgres"
# pg数据库名
- "KONG_PG_DATABASE=kong"
# pg 主机名
- "KONG_PG_HOST=kong-postgres"
# pg数据库
- "KONG_DATABASE=postgres"
# pg数据库密码
- "KONG_PG_PASSWORD=tars2015"
# 用户限定
- "KONG_PG_USER=kong"
- "KONG_PROXY_ACCESS_LOG=/dev/stdout"
- "KONG_PROXY_ERROR_LOG=/dev/stderr"
networks:
- "kong-net"
# 依赖服务
depends_on:
- "kong-postgres"
- "kong-migrations"
restart: "always"
kong-postgres:
image: "postgres:latest"
container_name: "kong-postgres"
ports:
- "5432:5432"
environment:
- "POSTGRES_USER=kong"
- "POSTGRES_DB=kong"
- "POSTGRES_PASSWORD=tars2015"
# 绑定pg数据目录
- "PGDATA=/tmp/postgres_data"
restart: "always"
networks:
- "kong-net"
volumes:
- "/c/Users/postgres_data:/tmp/postgres_data"
kong-migrations:
image: "kong:latest"
container_name: "kong-migrations"
# 这个服务就是用来执行这个命令的
command: "kong migrations bootstrap"
environment:
- "KONG_CASSANDRA_CONTACT_POINTS=kong-postgres"
- "KONG_PG_DATABASE=kong"
- "KONG_PG_HOST=kong-postgres"
- "KONG_DATABASE=postgres"
- "KONG_PG_PASSWORD=tars2015"
- "KONG_PG_USER=kong"
depends_on:
- "kong-postgres"
links:
- "kong-postgres:kong-postgres"
networks:
- "kong-net"
restart: "on-failure"
kong-dashboard:
image: "hansonyao/kong-dashboard:latest"
container_name: "kong-dashboard"
restart: "always"
ports:
- "8084:8080"
depends_on:
- "kong-postgres"
- "kong-migrations"
- "kong"
# 服务部署完成执行的命令,bboysoul用户名tars2015密码
command: "start --kong-url http://kong:8001 --basic-auth bboysoul=tars2015"
networks:
- "kong-net"
networks:
kong-net:
driver: "bridge"
启动,配置更新重启
docker-compose up -d
关闭
docker-compose down
看见服务状态全部为 UP 就说明启动正常了,如果是有启动不正常的情况出现,我们可以尝试
docker logs tars
来查看具体是报什么错误了,然后再具体情况具体解决
查看具体 docker 容器的 ip 可以使用如下命令
docker inspect tars | grep IPAddress
要看具体的挂载,端口,网络的话也是使用上面的命令,不过要将 grep 去掉。
猜你喜欢
- 2024-10-24 阻塞、非阻塞、多路复用、同步、异步、BIO、NIO、AIO 一文搞定
- 2024-10-24 搞定Nginx高并发原理:多进程单线程和多路IO复用模型
- 2024-10-24 JAVA分布式构架师 java 分布式框架有哪些
- 2024-10-24 NIO、BIO、AIO 与 PHP 实现 php or
- 2024-10-24 Java IO体系-彻底理解BIO、NIO、AIO
- 2024-10-24 Linux原生异步IO原理与实现(Native AIO)
- 2024-10-24 架构解密从分布式到微服务:深入理解网络,AIO
- 2024-10-24 nginx+consul做动态负载均衡(docker)
- 2024-10-24 linux下aio异步读写详解与实例《完整版》
- 2024-10-24 python异步IO高并发之aiohttp python标准库
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)