【问题标题】:Running docker commands in bash script leads to segmentation fault在 bash 脚本中运行 docker 命令会导致分段错误
【发布时间】:2017-07-20 12:28:45
【问题描述】:

命令如下:

docker 运行/停止/rm ...

在终端中工作,而在 bash 脚本中导致分段错误。

我对比了bash脚本和终端的环境,如下图。

2c2 BASHOPTS=cmdhist:complete_fullquote:expand_aliases:extquote:force_fignore:hostcomplete:interactive_cmets:login_shell:progcomp:promptvars:sourcepath 7,8c7,8 BASH_LINENO=() > BASH_SOURCE=() 10a11 > 列=180 14a16,18 > HISTFILE=/home/me/.bash_history > 历史文件大小=500 > 历史大小=500 19a24 > 线=49 22a28 > 邮件检查=60 28c34,37 管道状态=([0]="0") > PPID=12553 > PS1='[\u@\h \W]\$' > PS2='>' 32,33c41,42 SHELLOPTS=braceexpand:emacs:hashall:histexpand:history:interactive-cmets:monitor > SHLVL=1 42,52c51 _=/tmp/env.log

更新:

信息和版本:

码头工人版本

客户:
 版本:1.13.1
 API版本:1.26
 围棋版本:go1.7.5
 Git 提交:092cba3727
 建成时间:2017 年 2 月 12 日星期日 02:40:56
 操作系统/架构:linux/amd64
服务器:
 版本:1.13.1
 API 版本:1.26(最低版本 1.12)
 围棋版本:go1.7.5
 Git 提交:092cba3727
 建成时间:2017 年 2 月 12 日星期日 02:40:56
 操作系统/架构:linux/amd64
 实验性:错误
码头工人信息

容器:0
 运行:0
 暂停:0
 停止:0
图片:1
服务器版本:1.13.1
存储驱动程序:overlay2
 支持文件系统:extfs
 支持 d_type: true
 原生叠加差异:true
日志记录驱动程序:json 文件
Cgroup 驱动程序:cgroupfs
插件:
 音量:本地
 网络:桥接主机 macvlan 空覆盖
群:不活跃
运行时:runc
默认运行时:runc
初始化二进制文件:docker-init
容器版本:aa8187dbd3b7ad67d

【问题讨论】:

  • 你使用哪个 docker 镜像? “图片描述”不存在,顺便添加docker version和docker info

标签: bash docker segmentation-fault


【解决方案1】:

您已经在 shell 中重写了 docker 命令,这完全有可能是一个递归定义。从您的环境中删除它:

docker () 
{ 
    docker run -dti -v ${PWD}:/home --restart always -p 50000:50000 --name projDev owen263/python3-uwsgi-alpine-docker sh
}

【讨论】:

  • 哇,非常感谢。 @BMitch 我太关心 Docker。并且还试图找到转储的核心。没想到是因为 bash 函数名。
猜你喜欢
  • 1970-01-01
  • 2016-02-19
  • 2014-09-03
  • 2021-07-17
  • 2019-05-28
  • 2017-08-10
  • 2015-05-27
  • 1970-01-01
  • 2014-03-24
相关资源
最近更新 更多