Docker报错篇——实际场景下的解决方案

容器相关报错与异常

  • 场景一:我在本地修改了后端代码,替换到远程服务器docker代码(原先已映射宿主和容器目录)后,重启了docker容器(docker restart flask_app_server)。

    报错情况:docker重启容器后,没有启动成功,查看日志(docker logs flask_app_server -f)发现启动时报错了(配置文件中的数据库参数值错误)。

    解决方案:从远程服务器的容器中将文件拷贝到远程服务器某目录下,然后修改代码为正确的,接着将修改后的代码文件重新拷贝值远程服务器目标容器的指定位置,最后重启容器即可。

    [root@localhost ~]# docker cp flask_app_server:/usr/local/lib/python3.7/site-packages/sdk-0.0.0-py3.7.egg/sdk/demo.py /home
    
    [root@localhost ~]# docker cp /home/demo.py flask_app_server:/usr/local/lib/python3.7/site-packages/sdk-0.0.0-py3.7.egg/sdk
    
    [root@localhost ~]# docker restart flask_app_server
    flask_app_server
    [root@localhost ~]# docker ps -a|grep flask_app_server
    de85d5f67da1   flask_app_server:1.0               "nohup python3 run_…"   4 weeks ago      Up 11 seconds              8090/tcp, 0.0.0.0:8090->8090/tcp, :::8090->8090/tcp   flask_app_server
    
  • 场景二:在centos7的docker容器中的路径出现中文路径,直接中文乱码了。

    解决方案:

    • 方案1:临时解决中文乱码
      在命令行中执行如下命令:
      $>localedef -i zh_CN -f UTF-8 zh_CN.UTF-8
      
      $>yum -y install kde-l10n-Chinese && yum -y reinstall glibc-common
      
      $>localedef -c -f UTF-8 -i zh_CN zh_CN.utf8
      
      $>export LC_ALL=zh_CN.utf8
      
    • 方案2:修改生成镜像的配置文件
      在Dockerfile中添加一行,如下所示:
      ENV LANG C.UTF-8
      
      重新制作docker镜像,重新进入容器后发现问题解决!

逐步更新中。。

以上。

posted @ 2022-09-15 11:51  慕夏一缕风  阅读(58)  评论(0编辑  收藏  举报