Docker(七)启动容器时报错:Error response from daemon: Container [ContainerId] is restarting, wait until the c

背景:

docker run容器后,可以构建一个新的容器,但是docker exec -it bash去进入容器内部时,会报错:Error response from daemon: Container bb4e7352411d8412ed2d0428c5f6980197ecce75c657f43e74a5592e017d5ab9 is restarting, wait until the container is running。

#脚本docker_run.sh中的内容:
docker run --network host \  # 网桥,本地ip模式
    --name feed_channel_classify \ # container的名字,如果不写,则随机生成一个
    --restart=always \ # 是否重启
    -d feed_channel_classify:v1 \ #  -d表示后台运行,后跟镜像的名字以及tag
    bash run.sh    # 启动容器后,执行的命令
# 脚本run.sh中的内容:
gunicorn -c gunicorn.py run:app
# 脚本gunicorn.py的内容:
workers = 3
threads = 3
timeout = 100
bind = '0.0.0.0:5000' 容器绑定的端口,可以通过这个端口来访问容器内搭建起来的服务

(bert) [dev@dev1 cls]$ bash docker_run.sh
bb4e7352411d8412ed2d0428c5f6980197ecce75c657f43e74a5592e017d5ab9
(bert) [dev@dev1 cls]$ docker container ls -a
CONTAINER ID   IMAGE                      COMMAND         CREATED          STATUS         PORTS     NAMES
bb4e7352411d   feed_channel_classify:v1   "bash run.sh"   22 seconds ago   Up 3 seconds             feed_channel_classify
(bert) [dev@dev1 cls]$ docker exec -it bb4e7352411d bash
Error response from daemon: Container bb4e7352411d8412ed2d0428c5f6980197ecc is restarting, wait until the container is running
(bert) [dev@dev1 cls]$

原因:

由于本地5000端口之前已经在使用,没有关闭。

解决:

方法1:更换端口

更换端口,不要使用5000。我这里将gunicorn -c gunicorn.py run:app中的gunicorn.py文件中的端口绑定,从5000,改为来了5990,此时容器可以访问。
# 脚本gunicorn.py的内容:
workers = 3
threads = 3
timeout = 100
bind = '0.0.0.0:5990'

方法2:

docker start [container ID],这个方法我没有尝试成功,目前没定位到是哪里问题,回头再研究研究。

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值