欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Docker容器不斷重啟問題解決

 更新時間:2024年11月21日 10:56:06   作者:小-黯  
本文主要介紹了使用docker-compose.yml配置文件啟動容器時遇到的問題,卷標沖突和容器無法啟動,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

1. compose配置文件

docker-compose.yml

services:
  node_app:
    image: dockerproxy.cn/node:lts-bullseye-slim
    container_name: node_app
    networks:
      macvlan_net:
        ipv4_address: 192.168.2.3
    # 掛載的卷標
    volumes:
      - app:/app
    # 工作目錄
    working_dir: /app
    # 自動重啟
    restart: always

# 卷標
volumes:
  app:
# 網絡
networks:
  macvlan_net:
    external: true

2. 查看卷標

查看docker已經存在的卷標,發(fā)現(xiàn)存在卷標node_app

docker volume ls
DRIVER    VOLUME NAME
local     node_app

3. 問題初步探討

在compose配置文件中,卷標app會被自動重命名為node_app,而恰好上次使用的卷標沒有清理,沖突了

# 卷標
volumes:
  app:

4. 初步嘗試

  • 刪除舊的卷標node_app
  • 使用舊的卷標,compose的卷標配置應當改為如下
# 卷標
volumes:
  node_app:
    external: true

5. 依然無法啟動

以最簡單的配置文件運行容器, 依然無法啟動

services:
  node_app:
    image: dockerproxy.cn/node:lts-bullseye-slim
    container_name: node_app
    working_dir: /app
    restart: no

然后我換了一個容器名稱(test),用docker ps -a,名稱沒問題是test
但是奇怪的是用docker compose exec test bash,卻發(fā)現(xiàn)找不到test,但在exec后用tab鍵自動補全的竟然是node_app
匪夷所思,我查看了所有容器并沒有這個容器啊,整個dokcer除了我要用到的卷標名稱為node_app意外,沒有其他相關的名稱了,但是我也沒掛載它呀

用portainer查看以下該容器的信息

在這里插入圖片描述

發(fā)現(xiàn)兩個奇怪的點
com.docker.compose.project的值是node
com.docker.compose.service的值是node_app,
這不是我最最最開始使用的鏡像名和容器名稱嗎?也是容器默認的名稱

6. 解決方案

最后從【Docker】解決docker-compose啟動的容器一直處于restarting狀態(tài)的問題文章中獲得該方法

tty:true

該參數(shù)作用簡介:

交互式操作: 如果您運行一個需要用戶輸入的交互式應用程序(例如,使用 bash 或某些 CLI 工具),設置 tty: true 將允許您與該應用程序進行交互。沒有這個設置,您可能無法獲得正確的輸入輸出體驗。

增強輸出格式: 某些程序(例如日志查看工具或某些編程語言的 REPL)可以利用 TTY 來生成更友好的輸出格式。例如,帶顏色的輸出通常依賴 TTY 的存在。

保持會話活躍: 有些應用程序(如一些長期運行的進程)可能需要一個 TTY 來保持活躍。如果沒有 TTY,應用可能會提早結束或進入休眠狀態(tài)。

7. 結論

那么這下似乎就明白了,似乎全是鏡像的問題,compose會讀取鏡像的默認項目名和服務名作為堆棧和容器名稱,加了contianer_name也沒用,然后就是鏡像是精簡版的,所以默認是一次性運行,必須加上tty:true來維持運行

8. 參考文章

[1]【Docker】解決docker-compose啟動的容器一直處于restarting狀態(tài)的問題

到此這篇關于Docker容器不斷重啟問題解決的文章就介紹到這了,更多相關Docker容器不斷重啟內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Docker容器連接外部Mysql的幾種方案

    Docker容器連接外部Mysql的幾種方案

    這篇文章主要給大家介紹了關于Docker容器連接外部Mysql的幾種方案,文中通過圖文以及實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2023-06-06
  • Docker搭建Zookeeper&Kafka集群的實現(xiàn)

    Docker搭建Zookeeper&Kafka集群的實現(xiàn)

    這篇文章主要介紹了Docker搭建Zookeeper&Kafka集群的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • Docker安裝Nacos服務的實現(xiàn)

    Docker安裝Nacos服務的實現(xiàn)

    本文主要介紹了Docker安裝Nacos服務的實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Docker如何修改正在運行的容器的時區(qū)和時間

    Docker如何修改正在運行的容器的時區(qū)和時間

    在Docker容器中修改時區(qū)和時間的步驟:1. 進入容器,使用dockerexec命令以root用戶身份進入,2. 安裝時區(qū)文件,根據(jù)基礎鏡像選擇合適的包管理器(如apt-get或apk),3. 設置時區(qū),通過創(chuàng)建軟鏈接或設置環(huán)境變量TZ,并更新系統(tǒng)時區(qū)
    2025-01-01
  • docker端口映射的實現(xiàn)示例

    docker端口映射的實現(xiàn)示例

    Docker 端口映射允許我們將容器內部的服務綁定到宿主機上的一個或多個端口,本文主要介紹了docker端口映射的實現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • 關于dockerfile build過程中報/bin/sh: pip: command not found的解決方法

    關于dockerfile build過程中報/bin/sh: pip: command not found的解決方法

    這篇文章主要介紹了關于dockerfile build過程中報/bin/sh: pip: command not found的解決方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • Docker下安裝部署Clickhouse及其遠程訪問方式

    Docker下安裝部署Clickhouse及其遠程訪問方式

    文章介紹了如何遠程拉取和安裝ClickHouse Docker鏡像,配置和部署ClickHouse容器,并通過DataGrip遠程訪問ClickHouse
    2024-11-11
  • 更改Docker默認數(shù)據(jù)目錄解決部署空間不足問題

    更改Docker默認數(shù)據(jù)目錄解決部署空間不足問題

    隨著使用 Docker 的時間增加,存儲在默認數(shù)據(jù)目錄(通常是 /var/lib/docker)中的數(shù)據(jù)量也會不斷增大,最終可能導致服務器上的存儲空間不足,這篇文章將詳細介紹如何更改 Docker 的默認數(shù)據(jù)目錄,以便在服務器上釋放存儲空間并優(yōu)化資源利用,需要的朋友可以參考下
    2024-06-06
  • Dockerfile如何使用alpine系統(tǒng)制作haproxy鏡像

    Dockerfile如何使用alpine系統(tǒng)制作haproxy鏡像

    這篇文章主要介紹了Dockerfile如何使用alpine系統(tǒng)制作haproxy鏡像問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Docker容器化spring boot應用詳解

    Docker容器化spring boot應用詳解

    本篇文章主要介紹了Docker容器化spring boot應用詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04

最新評論