环境推荐使用:Centos7
docker
环境搭建可以自己在网上找教程,文章中就不再说明了。
docker-compose 安装
1 2 3
| 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 镜像配置
1 2 3
| 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 文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180
| 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: - MOUNT_DATA=true - 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: - --sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION - --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_ADMIN_ACCESS_LOG=/dev/stdout" - "KONG_ADMIN_ERROR_LOG=/dev/stderr" - "KONG_ADMIN_LISTEN=0.0.0.0:8001" - "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" - "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" - "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" command: "start --kong-url http://kong:8001 --basic-auth bboysoul=tars2015" networks: - "kong-net"
networks: kong-net: driver: "bridge"
|
启动,配置更新重启
关闭

看见服务状态全部为 UP 就说明启动正常了,如果是有启动不正常的情况出现,我们可以尝试
来查看具体是报什么错误了,然后再具体情况具体解决
查看具体 docker 容器的 ip 可以使用如下命令
1
| docker inspect tars | grep IPAddress
|

要看具体的挂载,端口,网络的话也是使用上面的命令,不过要将 grep 去掉。