两次安装Answer失败-已经解决,可以启动
第一次失败
➜ docker run -p 9080:80 -v $PWD/answer-data:/data --name answer answerdev/answer:latest
[config-file] try to install...
[config-file] /data/conf/config.yaml already exists
[upload-dir] try to install...
[upload-dir] install success, upload directory is /data/upfiles
[i18n] try to install i18n bundle...
[i18n] find i18n bundle 3
[i18n] install en_US.yaml bundle...
[i18n] install en_US.yaml bundle success
[i18n] install it_IT.yaml bundle...
[i18n] install it_IT.yaml bundle success
[i18n] install zh_CN.yaml bundle...
[i18n] install zh_CN.yaml bundle success
install all initial environment done
read config successfully
new database failed: dial tcp: lookup db on 100.100.2.136:53: no such host
init database error: dial tcp: lookup db on 100.100.2.136:53: no such host
panic: dial tcp: lookup db on 100.100.2.136:53: no such host
goroutine 1 [running]:
main.runApp()
/go/src/github.com/answerdev/answer/cmd/answer/main.go:51 +0x22c
main.glob..func1(0x3433a20?, {0xef2e49?, 0x2?, 0x2?})
/go/src/github.com/answerdev/answer/cmd/answer/command.go:52 +0x17
github.com/spf13/cobra.(*Command).execute(0x3433a20, {0xc00006e9a0, 0x2, 0x2})
/go/pkg/mod/github.com/spf13/[email protected]/command.go:876 +0x67b
github.com/spf13/cobra.(*Command).ExecuteC(0x3432da0)
/go/pkg/mod/github.com/spf13/[email protected]/command.go:990 +0x3b4
github.com/spf13/cobra.(*Command).Execute(...)
/go/pkg/mod/github.com/spf13/[email protected]/command.go:918
main.Execute()
/go/src/github.com/answerdev/answer/cmd/answer/command.go:155 +0x25
main.main()
/go/src/github.com/answerdev/answer/cmd/answer/main.go:37 +0x17
➜ answer
看样子,是数据库连接出现了错误。
当我重新下载了一次源代码到另一个目录里,尝试使用docker命令,发现还是失败了。
然后,使用二进制运行,也找不到门路,让人不愉快的体验。
我看INSTALL.md,也说的不是很清楚。
总之,很难受,要搞懂这个错误,需要追踪很长的代码,有点沮丧,刚开始就感觉一座大山在前面。
我觉得缺少一个整体的系统启动流程图,让人有一个清晰的头绪,但是作为一个经典的前后端项目,它必然就很简单,但是目前我要追踪很多代码,才能让它在本机启动。
头大,现在一点思路都没有,然后。
第二次失败
我尝试使用 docker-compose up
➜ answer1105 git:(main) ✗ docker-compose up
[+] Running 2/0
⠿ Container answer1105-db-1 Created 0.0s
⠿ Container answer1105-answer-1 Created 0.0s
Attaching to answer1105-answer-1, answer1105-db-1
answer1105-db-1 | 2022-11-05 15:39:10 0 [Note] mysqld (mysqld 10.4.7-MariaDB-1:10.4.7+maria~bionic) starting as process 1 ...
answer1105-db-1 | 2022-11-05 15:39:10 0 [Note] InnoDB: Using Linux native AIO
answer1105-db-1 | 2022-11-05 15:39:10 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
answer1105-db-1 | 2022-11-05 15:39:10 0 [Note] InnoDB: Uses event mutexes
answer1105-db-1 | 2022-11-05 15:39:10 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
answer1105-db-1 | 2022-11-05 15:39:10 0 [Note] InnoDB: Number of pools: 1
answer1105-db-1 | 2022-11-05 15:39:10 0 [Note] InnoDB: Using SSE2 crc32 instructions
answer1105-db-1 | 2022-11-05 15:39:10 0 [Note] mysqld: O_TMPFILE is not supported on /tmp (disabling future attempts)
answer1105-db-1 | 2022-11-05 15:39:10 0 [Note] InnoDB: Initializing buffer pool, total size = 256M, instances = 1, chunk size = 128M
answer1105-db-1 | 2022-11-05 15:39:10 0 [Note] InnoDB: Completed initialization of buffer pool
answer1105-db-1 | 2022-11-05 15:39:10 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority().
answer1105-db-1 | 2022-11-05 15:39:10 0 [Note] InnoDB: 128 out of 128 rollback segments are active.
answer1105-db-1 | 2022-11-05 15:39:10 0 [Note] InnoDB: Creating shared tablespace for temporary tables
answer1105-db-1 | 2022-11-05 15:39:10 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
answer1105-db-1 | 2022-11-05 15:39:10 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
answer1105-db-1 | 2022-11-05 15:39:10 0 [Note] InnoDB: Waiting for purge to start
answer1105-db-1 | 2022-11-05 15:39:10 0 [Note] InnoDB: 10.4.7 started; log sequence number 384016; transaction id 334
answer1105-db-1 | 2022-11-05 15:39:10 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
answer1105-db-1 | 2022-11-05 15:39:10 0 [Note] Plugin 'FEEDBACK' is disabled.
answer1105-db-1 | 2022-11-05 15:39:10 0 [Note] Server socket created on IP: '::'.
answer1105-db-1 | 2022-11-05 15:39:10 0 [Warning] 'proxies_priv' entry '@% root@e4fb18bb2d2c' ignored in --skip-name-resolve mode.
answer1105-db-1 | 2022-11-05 15:39:10 0 [Note] Reading of all Master_info entries succeeded
answer1105-db-1 | 2022-11-05 15:39:10 0 [Note] Added new Master_info '' to hash table
answer1105-db-1 | 2022-11-05 15:39:10 0 [Note] mysqld: ready for connections.
answer1105-db-1 | Version: '10.4.7-MariaDB-1:10.4.7+maria~bionic' socket: '/var/run/mysqld/mysqld.sock' port: 3306 mariadb.org binary distribution
answer1105-db-1 | 2022-11-05 15:39:10 0 [Note] InnoDB: Buffer pool(s) load completed at 221105 15:39:10
answer1105-answer-1 | [config-file] try to install...
answer1105-answer-1 | [config-file] /data/conf/config.yaml already exists
answer1105-answer-1 | [upload-dir] try to install...
answer1105-answer-1 | [upload-dir] install success, upload directory is /data/upfiles
answer1105-answer-1 | [i18n] try to install i18n bundle...
answer1105-answer-1 | [i18n] find i18n bundle 3
answer1105-answer-1 | [i18n] install en_US.yaml bundle...
answer1105-answer-1 | [i18n] install en_US.yaml bundle success
answer1105-answer-1 | [i18n] install it_IT.yaml bundle...
answer1105-answer-1 | [i18n] install it_IT.yaml bundle success
answer1105-answer-1 | [i18n] install zh_CN.yaml bundle...
answer1105-answer-1 | [i18n] install zh_CN.yaml bundle success
answer1105-answer-1 | install all initial environment done
answer1105-answer-1 | read config successfully
answer1105-answer-1 | [database] already exists
answer1105-answer-1 | init database successfully
answer1105-db-1 | 2022-11-05 15:39:40 9 [Warning] Aborted connection 9 to db: 'answer' user: 'root' host: '172.26.0.3' (Got an error reading communication packets)
answer1105-answer-1 | 2022-11-05 23:39:40.649 INFO /go/src/github.com/answerdev/answer/internal/base/data/data.go:71 try to load cache file from /tmp/cache/cache.db
answer1105-answer-1 | 2022-11-05 23:39:40.659 WARN /go/src/github.com/answerdev/answer/internal/base/data/data.go:73 open /tmp/cache/cache.db: no such file or directory
^@^@^@^@^@^@^@
我的环境是 Ubuntu20.04, 直接下载的最新的代码进行部署,遇到了docker容器连接错误的问题。
遇到相同的错误
感谢问题反馈
- 当前使用 docker 安装会在当前目录下
$PWD/answer-data创建answer-data文件夹,文件夹中包含配置文件等数据,启动时候提示/data/conf/config.yaml already exists,证明配置文件已经存在,如果是新的初次安装,请删除answer-data文件夹中所有相关文件。如果是第二次安装,请修改对应的配置文件/answer-data/conf/config.yaml对应的数据库连接。 - 第二次安装看日志并没有任何问题,各项初始化看日志也是正常的,启动后直接访问即可。如果是对
[Warning] Aborted connection 9 to db: 'answer' user: 'root' host: '172.26.0.3' (Got an error reading communication packets)有担心,不必担心,这是一个警告提示,是由于docker-compose的 depends_on 导致,它会不断的检测 mysql 是否正常启动,这只是由于还没有正常连接的一个提示信息,不会影响 answer 正常运行。
再次感谢您的建议,有关安装这部分我们已经正在优化了,现在目前对于初次的用户来说成本较高,还会遇到一些问题,我们也正在设计解决。还有安装和使用相关的文档我们也在积极补充,后续会有更好的文档说明来解答您相关的疑惑。
第二次安装看日志并没有任何问题,各项初始化看日志也是正常的,启动后直接访问即可。如果是对 [Warning] Aborted connection 9 to db: 'answer' user: 'root' host: '172.26.0.3' (Got an error reading communication packets) 有担心,不必担心,这是一个警告提示,是由于 docker-compose 的 depends_on 导致,它会不断的检测 mysql 是否正常启动,这只是由于还没有正常连接的一个提示信息,不会影响 answer 正常运行。
现在已经可以启动demo, 如图

使用 docker-compose up启动的时候,最后的日志显示
answer1105-db-1 | 2022-11-05 15:39:40 9 [Warning] Aborted connection 9 to db: 'answer' user: 'root' host: '172.26.0.3' (Got an error reading communication packets)
answer1105-answer-1 | 2022-11-05 23:39:40.649 INFO /go/src/github.com/answerdev/answer/internal/base/data/data.go:71 try to load cache file from /tmp/cache/cache.db
answer1105-answer-1 | 2022-11-05 23:39:40.659 WARN /go/src/github.com/answerdev/answer/internal/base/data/data.go:73 open /tmp/cache/cache.db: no such file or directory
^@^@^@^@^@^@^@
让我以为遇到了啥问题,我后面再看下咋回事。
We've just released a update of docker with a graphical installation interface, now it's easy to install.
我们刚发布了个带图形界面的安装程序版本,无需 docker-compose 就能运行了,可以再试试。