switch to v2 format docker compose template

This commit is contained in:
Tan Jiang 2016-04-01 18:54:21 +08:00
parent 9004e4ef82
commit cb78c5cd7e
5 changed files with 80 additions and 73 deletions

View File

@ -1,62 +1,73 @@
log: version: '2'
build: ./log/ services:
volumes: log:
- /var/log/harbor/:/var/log/docker/ build: ./log/
ports: volumes:
- 1514:514 - /var/log/harbor/:/var/log/docker/
registry: ports:
image: library/registry:2.3.0 - 1514:514
volumes: registry:
- /data/registry:/storage image: library/registry:2.3.0
- ./config/registry/:/etc/registry/ volumes:
ports: - /data/registry:/storage
- 5001:5001 - ./config/registry/:/etc/registry/
command: ports:
/etc/registry/config.yml - 5001:5001
links: command:
- log /etc/registry/config.yml
log_driver: "syslog" depends_on:
log_opt: - log
syslog-address: "tcp://127.0.0.1:1514" logging:
syslog-tag: "registry" driver: "syslog"
mysql: options:
build: ./db/ syslog-address: "tcp://127.0.0.1:1514"
volumes: syslog-tag: "registry"
- /data/database:/var/lib/mysql mysql:
env_file: build: ./db/
- ./config/db/env volumes:
links: - /data/database:/var/lib/mysql
- log env_file:
log_driver: "syslog" - ./config/db/env
log_opt: depends_on:
syslog-address: "tcp://127.0.0.1:1514" - log
syslog-tag: "mysql" logging:
ui: driver: "syslog"
build: ../ options:
env_file: syslog-address: "tcp://127.0.0.1:1514"
- ./config/ui/env syslog-tag: "mysql"
volumes: ui:
- ./config/ui/app.conf:/etc/ui/app.conf build: ../
- ./config/ui/private_key.pem:/etc/ui/private_key.pem env_file:
links: - ./config/ui/env
- registry networks:
- mysql default:
- log aliases:
log_driver: "syslog" - ui
log_opt: volumes:
syslog-address: "tcp://127.0.0.1:1514" - ./config/ui/app.conf:/etc/ui/app.conf
syslog-tag: "ui" - ./config/ui/private_key.pem:/etc/ui/private_key.pem
proxy: depends_on:
image: library/nginx:1.9 - log
volumes: links:
- ./config/nginx:/etc/nginx - mysql
links: logging:
- ui driver: "syslog"
- registry options:
- log syslog-address: "tcp://127.0.0.1:1514"
ports: syslog-tag: "ui"
- 80:80 proxy:
log_driver: "syslog" image: library/nginx:1.9
log_opt: volumes:
syslog-address: "tcp://127.0.0.1:1514" - ./config/nginx:/etc/nginx
syslog-tag: "proxy" ports:
- 80:80
depends_on:
- mysql
- registry
- ui
- log
logging:
driver: "syslog"
options:
syslog-address: "tcp://127.0.0.1:1514"
syslog-tag: "proxy"

View File

@ -60,6 +60,7 @@ for f in conf_files:
render(os.path.join(templates_dir, "ui", "env"), render(os.path.join(templates_dir, "ui", "env"),
ui_conf_env, ui_conf_env,
hostname=hostname, hostname=hostname,
db_password=db_password,
ui_url=ui_url, ui_url=ui_url,
auth_mode=auth_mode, auth_mode=auth_mode,
admin_pwd=harbor_admin_password, admin_pwd=harbor_admin_password,

View File

@ -27,7 +27,7 @@ notifications:
endpoints: endpoints:
- name: harbor - name: harbor
disabled: false disabled: false
url: $ui_url/service/notifications url: http://ui/service/notifications
timeout: 500 timeout: 500
threshold: 5 threshold: 5
backoff: 1000 backoff: 1000

View File

@ -1,5 +1,7 @@
MYSQL_HOST=mysql MYSQL_HOST=mysql
MYSQL_PORT=3306
MYSQL_USR=root MYSQL_USR=root
MYSQL_PWD=$db_password
REGISTRY_URL=http://registry:5000 REGISTRY_URL=http://registry:5000
CONFIG_PATH=/etc/ui/app.conf CONFIG_PATH=/etc/ui/app.conf
HARBOR_REG_URL=$hostname HARBOR_REG_URL=$hostname

View File

@ -66,18 +66,11 @@ func GenerateRandomString() (string, error) {
func InitDB() { func InitDB() {
orm.RegisterDriver("mysql", orm.DRMySQL) orm.RegisterDriver("mysql", orm.DRMySQL)
addr := os.Getenv("MYSQL_HOST") addr := os.Getenv("MYSQL_HOST")
if len(addr) == 0 { port := os.Getenv("MYSQL_PORT")
addr = os.Getenv("MYSQL_PORT_3306_TCP_ADDR")
}
port := os.Getenv("MYSQL_PORT_3306_TCP_PORT")
username := os.Getenv("MYSQL_USR") username := os.Getenv("MYSQL_USR")
password := os.Getenv("MYSQL_PWD")
password := os.Getenv("MYSQL_ENV_MYSQL_ROOT_PASSWORD") log.Debugf("db url: %s:%s, db user: %s", addr, port, username)
if len(password) == 0 {
password = os.Getenv("MYSQL_PWD")
}
dbStr := username + ":" + password + "@tcp(" + addr + ":" + port + ")/registry" dbStr := username + ":" + password + "@tcp(" + addr + ":" + port + ")/registry"
ch := make(chan int, 1) ch := make(chan int, 1)
go func() { go func() {