Piwik Docker使用linnking容器编写错误

时间:2016-08-06 16:06:00

标签: wordpress docker-compose matomo

我克隆了以下项目:session.query(MyModel).filter_by(foo="bar").all()我修改了这样的docker-compose,以便将它与带有wordpress的piwik链接:

https://github.com/indiehosters/piwik

但由于某种原因,我收到了这个错误:

db:
  image: mysql
  volumes:
    - ./mysql/runtime:/var/lib/mysql
  environment:
    - MYSQL_ROOT_PASSWORD
app:
  image: piwik
  links:
    - db
  volumes:
    - ./config:/var/www/html/config
    - ./ssmtp.conf:/etc/ssmtp/ssmtp.conf
    - ./revaliases:/etc/ssmtp/revaliases
web:
  image: nginx
  volumes:
    - ./nginx.conf:/etc/nginx/nginx.conf:ro
  links:
    - app
  volumes_from:
    - app
  environment:
    - VIRTUAL_HOST
cron:
  image: piwik
  links:
    - db
  volumes_from:
    - app
  entrypoint: |
    bash -c 'bash -s <<EOF
    trap "break;exit" SIGHUP SIGINT SIGTERM
    while /bin/true; do
      su -s "/bin/bash" -c "/usr/local/bin/php /var/www/html/console core:archive" www-data
      sleep 3600
    done
    EOF'

db2:
  image: mysql:5.7
  volumes:
    - "./.data/db/wordpress:/var/lib/mysql"
  restart: always
  environment:
    MYSQL_ROOT_PASSWORD: wordpress
    MYSQL_DATABASE: wordpress
    MYSQL_USER: wordpress
    MYSQL_PASSWORD: wordpress

wordpress:
  image: wordpress:latest
  volumes:
    - ".data/www/wordppress:/var/www/html"
  links:
    - db2
    - web
  ports:
    - "8000:80"
  restart: always
  environment:
    WORDPRESS_DB_HOST: db2:3306
    WORDPRESS_DB_PASSWORD: wordpress

我希望iis也可以将compose.config.config.find: Using configuration files: ./docker-compose.yml docker.auth.auth.load_config: File doesn't exist compose.cli.command.get_client: docker-compose version 1.8.0, build 94f7016 docker-py version: 1.9.0 CPython version: 2.7.12 OpenSSL version: OpenSSL 1.0.2g-fips 1 Mar 2016 compose.cli.command.get_client: Docker base_url: http+docker://localunixsocket compose.cli.command.get_client: Docker version: KernelVersion=4.4.0-31-generic, Os=linux, BuildTime=Wed, 20 Apr 2016 14:19:16 -0700, ApiVersion=1.22, Version=1.10.3, GitCommit=20f81dd, Arch=amd64, GoVersion=go1.6.1 compose.cli.verbose_proxy.proxy_callable: docker info <- () compose.cli.verbose_proxy.proxy_callable: docker info -> {u'Architecture': u'x86_64', u'BridgeNfIp6tables': True, u'BridgeNfIptables': True, u'CPUSet': True, u'CPUShares': True, u'ClusterAdvertise': u'', u'ClusterStore': u'', u'Containers': 2, u'ContainersPaused': 0, u'ContainersRunning': 0, ... compose.cli.verbose_proxy.proxy_callable: docker containers <- (all=False, filters={u'label': [u'com.docker.compose.project=piwik', u'com.docker.compose.oneoff=False']}) compose.cli.verbose_proxy.proxy_callable: docker containers -> (list with 0 items) compose.cli.verbose_proxy.proxy_callable: docker containers <- (all=True, filters={u'label': [u'com.docker.compose.project=piwik', u'com.docker.compose.service=db', u'com.docker.compose.oneoff=False']}) compose.cli.verbose_proxy.proxy_callable: docker containers -> (list with 1 items) compose.cli.verbose_proxy.proxy_callable: docker inspect_container <- (u'977abffbb37e6e174ca288e74e2c093ebb4e1e647a54263a37171dbef5f28d02') compose.cli.verbose_proxy.proxy_callable: docker inspect_container -> {u'AppArmorProfile': u'', u'Args': [u'mysqld'], u'Config': {u'AttachStderr': False, u'AttachStdin': False, u'AttachStdout': False, u'Cmd': [u'mysqld'], u'Domainname': u'', u'Entrypoint': [u'docker-entrypoint.sh'], u'Env': [u'MYSQL_ROOT_PASSWORD', u'PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin', ... compose.cli.verbose_proxy.proxy_callable: docker containers <- (all=True, filters={u'label': [u'com.docker.compose.project=piwik', u'com.docker.compose.service=app', u'com.docker.compose.oneoff=False']}) compose.cli.verbose_proxy.proxy_callable: docker containers -> (list with 1 items) compose.cli.verbose_proxy.proxy_callable: docker inspect_container <- (u'0616eefb57ced533cda3d0dee0827e76e5af517d728dbe532d4a5144ed7b484d') compose.cli.verbose_proxy.proxy_callable: docker inspect_container -> {u'AppArmorProfile': u'', u'Args': [u'php-fpm'], u'Config': {u'AttachStderr': False, u'AttachStdin': False, u'AttachStdout': False, u'Cmd': [u'php-fpm'], u'Domainname': u'', u'Entrypoint': [u'/entrypoint.sh'], u'Env': [u'PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin', u'PHPIZE_DEPS=autoconf \t\tfile \t\tg++ \t\tgcc \t\tlibc-dev \t\tmake \t\tpkg-config \t\tre2c', ... compose.cli.verbose_proxy.proxy_callable: docker containers <- (all=True, filters={u'label': [u'com.docker.compose.project=piwik', u'com.docker.compose.service=web', u'com.docker.compose.oneoff=False']}) compose.cli.verbose_proxy.proxy_callable: docker containers -> (list with 0 items) compose.cli.verbose_proxy.proxy_callable: docker containers <- (all=True, filters={u'label': [u'com.docker.compose.project=piwik', u'com.docker.compose.service=cron', u'com.docker.compose.oneoff=False']}) compose.cli.verbose_proxy.proxy_callable: docker containers -> (list with 0 items) compose.cli.verbose_proxy.proxy_callable: docker inspect_image <- ('mysql') compose.cli.verbose_proxy.proxy_callable: docker inspect_image -> {u'Architecture': u'amd64', u'Author': u'', u'Comment': u'', u'Config': {u'ArgsEscaped': True, u'AttachStderr': False, u'AttachStdin': False, u'AttachStdout': False, u'Cmd': [u'mysqld'], u'Domainname': u'', u'Entrypoint': [u'docker-entrypoint.sh'], ... compose.cli.verbose_proxy.proxy_callable: docker inspect_image <- ('piwik') compose.cli.verbose_proxy.proxy_callable: docker inspect_image -> {u'Architecture': u'amd64', u'Author': u'pierre@piwik.org', u'Comment': u'', u'Config': {u'ArgsEscaped': True, u'AttachStderr': False, u'AttachStdin': False, u'AttachStdout': False, u'Cmd': [u'php-fpm'], u'Domainname': u'', u'Entrypoint': [u'/entrypoint.sh'], ... compose.cli.verbose_proxy.proxy_callable: docker inspect_image <- ('nginx') compose.cli.verbose_proxy.proxy_callable: docker inspect_image -> {u'Architecture': u'amd64', u'Author': u'NGINX Docker Maintainers "docker-maint@nginx.com"', u'Comment': u'', u'Config': {u'AttachStderr': False, u'AttachStdin': False, u'AttachStdout': False, u'Cmd': [u'nginx', u'-g', u'daemon off;'], u'Domainname': u'', u'Entrypoint': None, u'Env': [u'PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin', ... compose.cli.verbose_proxy.proxy_callable: docker inspect_image <- ('piwik') compose.cli.verbose_proxy.proxy_callable: docker inspect_image -> {u'Architecture': u'amd64', u'Author': u'pierre@piwik.org', u'Comment': u'', u'Config': {u'ArgsEscaped': True, u'AttachStderr': False, u'AttachStdin': False, u'AttachStdout': False, u'Cmd': [u'php-fpm'], u'Domainname': u'', u'Entrypoint': [u'/entrypoint.sh'], ... compose.cli.verbose_proxy.proxy_callable: docker containers <- (all=True, filters={u'label': [u'com.docker.compose.project=piwik', u'com.docker.compose.service=db', u'com.docker.compose.oneoff=False']}) compose.cli.verbose_proxy.proxy_callable: docker containers -> (list with 1 items) compose.cli.verbose_proxy.proxy_callable: docker inspect_image <- ('mysql') compose.cli.verbose_proxy.proxy_callable: docker inspect_image -> {u'Architecture': u'amd64', u'Author': u'', u'Comment': u'', u'Config': {u'ArgsEscaped': True, u'AttachStderr': False, u'AttachStdin': False, u'AttachStdout': False, u'Cmd': [u'mysqld'], u'Domainname': u'', u'Entrypoint': [u'docker-entrypoint.sh'], ... compose.cli.verbose_proxy.proxy_callable: docker inspect_container <- (u'977abffbb37e6e174ca288e74e2c093ebb4e1e647a54263a37171dbef5f28d02') compose.cli.verbose_proxy.proxy_callable: docker inspect_container -> {u'AppArmorProfile': u'', u'Args': [u'mysqld'], u'Config': {u'AttachStderr': False, u'AttachStdin': False, u'AttachStdout': False, u'Cmd': [u'mysqld'], u'Domainname': u'', u'Entrypoint': [u'docker-entrypoint.sh'], u'Env': [u'MYSQL_ROOT_PASSWORD', u'PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin', ... compose.cli.verbose_proxy.proxy_callable: docker containers <- (all=True, filters={u'label': [u'com.docker.compose.project=piwik', u'com.docker.compose.service=app', u'com.docker.compose.oneoff=False']}) compose.cli.verbose_proxy.proxy_callable: docker containers -> (list with 1 items) compose.cli.verbose_proxy.proxy_callable: docker inspect_image <- ('piwik') compose.cli.verbose_proxy.proxy_callable: docker inspect_image -> {u'Architecture': u'amd64', u'Author': u'pierre@piwik.org', u'Comment': u'', u'Config': {u'ArgsEscaped': True, u'AttachStderr': False, u'AttachStdin': False, u'AttachStdout': False, u'Cmd': [u'php-fpm'], u'Domainname': u'', u'Entrypoint': [u'/entrypoint.sh'], ... compose.cli.verbose_proxy.proxy_callable: docker inspect_container <- (u'0616eefb57ced533cda3d0dee0827e76e5af517d728dbe532d4a5144ed7b484d') compose.cli.verbose_proxy.proxy_callable: docker inspect_container -> {u'AppArmorProfile': u'', u'Args': [u'php-fpm'], u'Config': {u'AttachStderr': False, u'AttachStdin': False, u'AttachStdout': False, u'Cmd': [u'php-fpm'], u'Domainname': u'', u'Entrypoint': [u'/entrypoint.sh'], u'Env': [u'PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin', u'PHPIZE_DEPS=autoconf \t\tfile \t\tg++ \t\tgcc \t\tlibc-dev \t\tmake \t\tpkg-config \t\tre2c', ... compose.cli.verbose_proxy.proxy_callable: docker containers <- (all=True, filters={u'label': [u'com.docker.compose.project=piwik', u'com.docker.compose.service=web', u'com.docker.compose.oneoff=False']}) compose.cli.verbose_proxy.proxy_callable: docker containers -> (list with 0 items) compose.cli.verbose_proxy.proxy_callable: docker containers <- (all=True, filters={u'label': [u'com.docker.compose.project=piwik', u'com.docker.compose.service=cron', u'com.docker.compose.oneoff=False']}) compose.cli.verbose_proxy.proxy_callable: docker containers -> (list with 0 items) compose.parallel.feed_queue: Pending: set([<Service: db>, <Service: app>, <Service: web>, <Service: cron>]) compose.parallel.feed_queue: Starting producer thread for <Service: db> compose.service.start_container_if_stopped: Starting piwik_db_1 compose.cli.verbose_proxy.proxy_callable: docker start <- (u'977abffbb37e6e174ca288e74e2c093ebb4e1e647a54263a37171dbef5f28d02') compose.parallel.feed_queue: Pending: set([<Service: cron>, <Service: app>, <Service: web>]) compose.parallel.feed_queue: Pending: set([<Service: cron>, <Service: app>, <Service: web>]) compose.parallel.feed_queue: Pending: set([<Service: cron>, <Service: app>, <Service: web>]) compose.parallel.feed_queue: Pending: set([<Service: cron>, <Service: app>, <Service: web>]) compose.parallel.feed_queue: Pending: set([<Service: cron>, <Service: app>, <Service: web>]) compose.parallel.feed_queue: Pending: set([<Service: cron>, <Service: app>, <Service: web>]) compose.parallel.feed_queue: Pending: set([<Service: cron>, <Service: app>, <Service: web>]) compose.cli.verbose_proxy.proxy_callable: docker start -> None compose.parallel.parallel_execute_iter: Finished processing: <Service: db> compose.parallel.feed_queue: Pending: set([<Service: cron>, <Service: app>, <Service: web>]) compose.parallel.feed_queue: Starting producer thread for <Service: app> compose.service.start_container_if_stopped: Starting piwik_app_1 compose.cli.verbose_proxy.proxy_callable: docker start <- (u'0616eefb57ced533cda3d0dee0827e76e5af517d728dbe532d4a5144ed7b484d') compose.parallel.feed_queue: Pending: set([<Service: cron>, <Service: web>]) compose.parallel.feed_queue: Pending: set([<Service: cron>, <Service: web>]) compose.parallel.feed_queue: Pending: set([<Service: cron>, <Service: web>]) compose.parallel.feed_queue: Pending: set([<Service: cron>, <Service: web>]) compose.parallel.feed_queue: Pending: set([<Service: cron>, <Service: web>]) compose.parallel.feed_queue: Pending: set([<Service: cron>, <Service: web>]) compose.parallel.feed_queue: Pending: set([<Service: cron>, <Service: web>]) compose.parallel.feed_queue: Pending: set([<Service: cron>, <Service: web>]) compose.parallel.feed_queue: Pending: set([<Service: cron>, <Service: web>]) compose.parallel.feed_queue: Pending: set([<Service: cron>, <Service: web>]) compose.parallel.feed_queue: Pending: set([<Service: cron>, <Service: web>]) compose.parallel.feed_queue: Pending: set([<Service: cron>, <Service: web>]) compose.parallel.feed_queue: Pending: set([<Service: cron>, <Service: web>]) compose.parallel.feed_queue: Pending: set([<Service: cron>, <Service: web>]) compose.parallel.feed_queue: Pending: set([<Service: cron>, <Service: web>]) compose.parallel.feed_queue: Pending: set([<Service: cron>, <Service: web>]) compose.parallel.feed_queue: Pending: set([<Service: cron>, <Service: web>]) compose.parallel.feed_queue: Pending: set([<Service: cron>, <Service: web>]) compose.parallel.parallel_execute_iter: Failed: <Service: app> compose.parallel.feed_queue: Pending: set([<Service: cron>, <Service: web>]) compose.parallel.feed_queue: <Service: cron> has upstream errors - not processing compose.parallel.feed_queue: <Service: web> has upstream errors - not processing compose.parallel.parallel_execute_iter: Failed: <Service: cron> compose.parallel.feed_queue: Pending: set([]) compose.parallel.parallel_execute_iter: Failed: <Service: web> compose.parallel.feed_queue: Pending: set([]) ERROR: for app Cannot start service app: Cannot link to a non running container: /piwik_db_1 AS /piwik_app_1/db compose.cli.main.main: Encountered errors while bringing up the project. 容器与wordpress容器相关联,以便能够访问piwik API。

你有什么想法可以实现这个目标吗?

1 个答案:

答案 0 :(得分:0)

&#39; db&#39;容器无法启动:

(.venv) root@papaya /s/w/docker-test# docker-compose up db
Creating dockertest_db_1
Attaching to dockertest_db_1
db_1    | error: database is uninitialized and password option is not specified 
db_1    |   You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD
dockertest_db_1 exited with code 1

这有效:

(.venv) root@papaya /s/w/docker-test# env MYSQL_ROOT_PASSWORD=hunter2 docker-compose up db
Recreating dockertest_db_1
Attaching to dockertest_db_1
db_1    | Initializing database
db_1    | Database initialized
...

您的docker-compose.yml中的无价值环境需要导出。

因此你应该更改:

environment:
    - MYSQL_ROOT_PASSWORD

进入这个:

environment:
    - MYSQL_ROOT_PASSWORD: "somepassword"