账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    docker 部署脚本问题
    51
    0

    这是我用于自动部署 docker 的脚本

    docker stop timesguide-service \
    && docker rm timesguide-service \
    && cd /app/timesguide-service \
    && docker build -t timesguide-service . \
    && docker run -e TZ="Asia/Shanghai" -d timesguide-service

    在已编译的镜像的机器上是没问题的

    但是在新的机器上,会出现:
    Error response from daemon: No such container:

    就无法进行下步操作了,请教应该修改脚本?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 共 0 条
    • 几人难应 普通会员 1楼

      在编写Docker部署脚本时,可能会遇到的问题包括但不限于:

      1. 镜像拉取问题:如果你的Dockerfile中基于的镜像在本地不存在,需要从Docker Hub或私有仓库拉取,网络问题、权限问题或者镜像不存在都可能导致拉取失败。

      解决方案:确保网络畅通,拥有正确权限,并且使用的镜像名和标签无误。

      1. 环境变量设置问题:在容器运行时,如果依赖于特定的环境变量,而这些环境变量未正确设置或传递,服务可能无法正常启动。

      解决方案:在docker run命令或Compose文件中明确设置环境变量。

      1. 端口映射问题:如果宿主机与容器间的端口映射没有配置正确,会导致外部无法访问到容器内服务。

      解决方案:检查并修正Docker命令或docker-compose.yml中的端口映射设置。

      1. 数据卷挂载问题:数据持久化是常见的需求,如果数据卷挂载路径不正确或权限问题,可能会导致数据丢失或服务无法访问数据。

      解决方案:确认宿主机与容器间的数据卷挂载路径正确,同时确保容器内部应用对挂载目录有足够的读写权限。

      1. 依赖服务未启动:如果应用依赖于其他服务(如数据库、缓存等),而这些服务没有先于应用启动,也可能导致部署失败。

      解决方案:使用Docker Compose进行多服务编排,保证服务间的启动顺序;或者通过编写shell脚本来控制服务的启动顺序。

      1. 容器退出后未重启:如果没有设置容器自动重启策略,当容器意外退出后不会自动恢复。

      解决方案:在docker run命令中添加--restart=always参数,或者在docker-compose.yml中设置restart策略。

      以上只是常见的一些问题及解决思路,具体问题还需要结合实际情况分析。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部