Skip to content

启动后没有数据的问题排查 2022-04-12 #85

Open

Description

@bg4xsd

mkdir -p /data/mariadb/data
docker pull pythonstock/pythonstock:latest
docker pull mariadb:latest

启动容器后,遇到了没有数据显示的问题;
进入 jobs里面测试 basic_job.py, 提示数据连接失败; 找到common,发现定义中使用的是 mysqldb作为默认值。
删除已经激活的容器, 重新运行
docker run --name mysqldb -v /data/mariadb/data:/var/lib/mysql
-e MYSQL_ROOT_PASSWORD=mysqldb -p 3306:3306 -d mariadb:latest

docker run -itd --link=mysqldb --name stock
-v /data/notebooks:/data/notebooks
-p 8888:8888
-p 9999:9999
pythonstock/pythonstock:latest

再次测试,数据库连接正常。 不去修改python的原因是容器里面修改太麻烦,或者自己挂接目录进去,折腾啊。

再次更新一下,数据库docker的名称和root的密码都已经改成'mysqldb',但文档上都还是用的'mariadb',说得是正确的。

Activity

  1. nitenzhao commented on Apr 15, 2022

    @nitenzhao

    嗯,代码里的配置 和文档说的不太一致,数据库docker的名称和root的密码都已经改成'mysqldb',但文档上都还是用的'mariadb',需要将文档里的启动方法做稍微调整

  2. jianxinH commented on Apr 15, 2022

    @jianxinH

    你好根据你的建议修改后出现数据库密码错误,请问是哪里除了你建议的语句修改还有哪里需要修改呢
    sqlalchemy.exc.OperationalError: (MySQLdb._exceptions.OperationalError) (1045, "Access denied for user 'root'@'172.17.0.3' (using password: YES)")

  3. jianxinH commented on Apr 15, 2022

    @jianxinH

    sudo docker run -itd --name stock \

    -v /data/notebooks:/data/notebooks \
    -p 8888:8888 \
    -p 9999:9999 \
    -e MYSQL_HOST=mysqldb \
    -e MYSQL_USER=root \
    -e MYSQL_PWD= mysqldb \
    -e MYSQL_DB=stock_data \
    pythonstock/pythonstock:latest
    

    Unable to find image 'mysqldb:latest' locally
    docker: Error response from daemon: pull access denied for mysqldb, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.
    See 'docker run --help'.

  4. bg4xsd commented on Apr 16, 2022

    @bg4xsd
    Author

    docker run --name mysqldb -v /data/mariadb/data:/var/lib/mysql
    -e MYSQL_ROOT_PASSWORD=mysqldb -p 3306:3306 -d mariadb:latest
    用这个命令启动数据看 passwd --这里上面 ----看上面这里, 不能改

    docker run -itd --link=mysqldb--name stock
    -v /data/notebooks:/data/notebooks
    -p 8888:8888
    -p 9999:9999
    pythonstock/pythonstock:latest
    然后用这个命令组启动, 不能用你那个 mysql的配置。

  5. jianxinH commented on Apr 16, 2022

    @jianxinH

    我本来也是这么启动的,但是出现了个报错sqlalchemy.exc.OperationalError: (MySQLdb._exceptions.OperationalError) (1045, "Access denied for user 'root'@'172.17.0.3' (using password: YES)")

  6. isgoungoo commented on Apr 17, 2022

    @isgoungoo

    非常感谢 我最近也是在折腾。请问这个docker安装就是按照如下:
    ##创建数据库目录
    mkdir -p /data/mariadb/data
    ##拉取stock镜像
    docker pull pythonstock/pythonstock:latest
    ##拉取数据库镜像
    docker pull mariadb:latest

    ##创建数据库容器
    docker run --name mysqldb -v /data/mariadb/data:/var/lib/mysql
    -e MYSQL_ROOT_PASSWORD=mysqldb -p *****:3306 -d mariadb:latest
    ##创建stock容器
    docker run -itd --link=mysqldb --name stock
    -v /data/notebooks:/data/notebooks
    -p ****:8888
    -p ****:9999
    pythonstock/pythonstock:latest

    然后运行:
    ##ssh进入stock容器
    docker exec -it stock bash
    ##手动运行任务
    sh /data/stock/jobs/cron.daily/run_daily

    请问是这条样子么?****代表修改端口!

  7. isgoungoo commented on Apr 17, 2022

    @isgoungoo

    [root@VM-20-3-centos ~]# docker exec -it stock bash
    root@ed5566776c56:/data# cd stock/jobs/
    root@ed5566776c56:/data/stock/jobs# bash basic_job.py
    basic_job.py: line 4: import: command not found
    basic_job.py: line 5: import: command not found
    basic_job.py: line 8: syntax error near unexpected token (' basic_job.py: line 8: def create_new_database():'
    root@ed5566776c56:/data/stock/jobs#

  8. bg4xsd commented on Apr 17, 2022

    @bg4xsd
    Author

    我本来也是这么启动的,但是出现了个报错sqlalchemy.exc.OperationalError: (MySQLdb._exceptions.OperationalError) (1045, "Access denied for user 'root'@'172.17.0.3' (using password: YES)")

    重新按照第一帖试试,修改了一个小错误。

  9. bg4xsd commented on Apr 17, 2022

    @bg4xsd
    Author

    sh /data/stock/jobs/cron.daily/run_daily

    要努力折腾啊。 sh /data/stock/jobs/cron.daily/run_daily 是表示 在当前的 shell下面执行 run_daily 里面的 ,
    bash basic_job.py 这样执行是错的,
    应该 python basic_job.py, 如果不出错,就可以等第二天看结果了。

    不过,不要报太大的希望, 就算有数据也是很简单的。

  10. bg4xsd commented on Apr 17, 2022

    @bg4xsd
    Author

    看到不少人在折腾, 多说两句,跑这个系统最好大家懂点 python, 熟悉 docker的部署, 否则用起来会比较费劲。 这个系统提供的功能比较简单,如果想看看数据的,建议直接去 akshare跑网站上的例子就可以了。 如果想做web部署的,可以看看代码;东西比较简单。 折腾玩玩就好,不要太认真,抱了太多的期望。

  11. isgoungoo commented on Apr 17, 2022

    @isgoungoo

    看到不少人在折腾, 多说两句,跑这个系统最好大家懂点 python, 熟悉 docker的部署, 否则用起来会比较费劲。 这个系统提供的功能比较简单,如果想看看数据的,建议直接去 akshare跑网站上的例子就可以了。 如果想做web部署的,可以看看代码;东西比较简单。 折腾玩玩就好,不要太认真,抱了太多的期望。

    哈哈 非常感谢 搞定了

  12. lingximm commented on Apr 22, 2022

    @lingximm

    直接运行 startStock.sh 就可以了

  13. vinson-Z commented on Apr 26, 2022

    @vinson-Z

    直接运行 startStock.sh 就可以了
    弄不了。下载了Docker Desktop,拉取镜像了不知道怎么弄。打开不了窗口,希望指点

  14. vinson-Z commented on Apr 26, 2022

    @vinson-Z

    弄不了。下载了Docker Desktop,拉取镜像了不知道怎么弄。打开不了窗口,希望指点

    弄不了。下载了Docker Desktop,拉取镜像了不知道怎么弄。打开不了窗口,希望指点

  15. GuoxuYuan commented on Apr 27, 2022

    @GuoxuYuan

    按照一楼的办法出现这个错误:(1045, "Access denied for user 'root'@'172.17.0.3' (using password: YES)"),好像是mysql启动不对,还需要在重新启动mysql服务吗?

  16. jianxinH commented on Apr 27, 2022

    @jianxinH

    mkdir -p /data/mariadb/data docker pull pythonstock/pythonstock:latest docker pull mariadb:latest

    启动容器后,遇到了没有数据显示的问题; 进入 jobs里面测试 basic_job.py, 提示数据连接失败; 找到common,发现定义中使用的是 mysqldb作为默认值。 删除已经激活的容器, 重新运行 docker run --name mysqldb -v /data/mariadb/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=mysqldb -p 3306:3306 -d mariadb:latest

    docker run -itd --link=mysqldb --name stock -v /data/notebooks:/data/notebooks -p 8888:8888 -p 9999:9999 pythonstock/pythonstock:latest

    再次测试,数据库连接正常。 不去修改python的原因是容器里面修改太麻烦,或者自己挂接目录进去,折腾啊。

    再次更新一下,数据库docker的名称和root的密码都已经改成'mysqldb',但文档上都还是用的'mariadb',说得是正确的。

    跟着楼主的操作完成后,进入mysqldb镜像修改root % 的密码为mysqldb,然后执行sh /data/stock/jobs/cron.daily/run_daily就可以了

  17. vinson-Z commented on Apr 27, 2022

    @vinson-Z

    数据库mariadb不能运行,run后,数据库是exit状态,不知道原因何在?不能正常运行,求懂的大神能够帮助指点,

  18. vinson-Z commented on May 3, 2022

    @vinson-Z

    2022-05-03 13:31:17+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:10.7.3+mariafocal started.
    2022-05-03 13:31:18+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
    2022-05-03 13:31:18+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:10.7.3+maria
    focal started.
    2022-05-03 13:31:18+00:00 [ERROR] [Entrypoint]: Database is uninitialized and password option is not specified
    You need to specify one of MARIADB_ROOT_PASSWORD, MARIADB_ALLOW_EMPTY_ROOT_PASSWORD and MARIADB_RANDOM_ROOT_PASSWORD
    数据库未初始化,未指定密码选项,请问问题出在哪里呢?希望有知道的加wx:vinsongege,帮助解决,必有感谢

  19. pldjn commented on Jun 2, 2022

    @pldjn

    mkdir -p /data/mariadb/data docker pull pythonstock/pythonstock:latest docker pull mariadb:latest
    启动容器后,遇到了没有数据显示的问题; 进入 jobs里面测试 basic_job.py, 提示数据连接失败; 找到common,发现定义中使用的是 mysqldb作为默认值。 删除已经激活的容器, 重新运行 docker run --name mysqldb -v /data/mariadb/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=mysqldb -p 3306:3306 -d mariadb:latest
    docker run -itd --link=mysqldb --name stock -v /data/notebooks:/data/notebooks -p 8888:8888 -p 9999:9999 pythonstock/pythonstock:latest
    再次测试,数据库连接正常。 不去修改python的原因是容器里面修改太麻烦,或者自己挂接目录进去,折腾啊。
    再次更新一下,数据库docker的名称和root的密码都已经改成'mysqldb',但文档上都还是用的'mariadb',说得是正确的。

    跟着楼主的操作完成后,进入mysqldb镜像修改root % 的密码为mysqldb,然后执行sh /data/stock/jobs/cron.daily/run_daily就可以了

    怎么进入mysqldb镜像啊

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions