在bash脚本中运行docker命令会导致分段错误

这些命令如下所示:

docker运行/停止/ rm …

在terminal工作的同时在bash脚本中导致分段错误。

我比较了bash脚本和terminal之间的环境,如下所示。


     2C2
     <BASHOPTS = cmdhist:complete_fullquote:extquote:force_fignore:hostcomplete:interactive_comments:progcomp:promptvars:sourcepath
     ---
     > BASHOPTS = cmdhist:complete_fullquote:expand_aliases:extquote:force_fignore:hostcomplete:interactive_comments:login_shell:progcomp:promptvars:sourcepath
     7,8c7,8
     <BASH_LINENO =([0] =“0”)
     <BASH_SOURCE =([0] =“./ devRun.sh”)
     ---
     > BASH_LINENO =()
     > BASH_SOURCE =()
     10a11
     > COLUMNS = 180
     14a16,18
     > HISTFILE = / home / me / .bash_history
     > HISTFILESIZE = 500
     > HISTSIZE = 500
     19a24
     > LINES = 49
     22a28
     > MAILCHECK = 60
     28c34,37
     <PPID = 12558
     ---
     > PIPESTATUS =([0] =“0”)
     > PPID = 12553
     > PS1 ='[\ u @ \ h \ W] \ $'
     > PS2 ='>'
     32,33c41,42
     <SHELLOPTS = braceexpand:hashall:interactive-comments
     <SHLVL = 2
     ---
     > SHELLOPTS = braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitor
     > SHLVL = 1
     42,52c51
     <_ =。/ devRun.sh
     <dao() 
     <{ 
     <echo“Dao”;
     <docker run -dti -v / tmp / projStatic:/ var / projStatic -v $ {PWD}:/ home --restart always -p 50000:50000 --name projDev daocloud.io/silencej/python3-uwsgi-alpine-docker工人
     <echo“Dao结束。”
     <}
     <docker() 
     <{ 
     <docker run -dti -v $ {PWD}:/ home --restart always -p 50000:50000 --name projDev owen263 / python3-uwsgi-alpine-docker sh
     <}
     ---
     > _ = / tmp / env.log

更新:

信息和版本:

 docker版本

客户:
 版本:1.13.1
  API版本:1.26
  Go版本:go1.7.5
  Git commit:092cba3727
 build于:Sun Feb 12 02:40:56 2017
  OS / Arch:linux / amd64
服务器:
 版本:1.13.1
  API版本:1.26(最低版本1.12)
  Go版本:go1.7.5
  Git commit:092cba3727
 build于:Sun Feb 12 02:40:56 2017
  OS / Arch:linux / amd64
 实验:假 
 docker信息

容器:0
 运行:0
 暂停:0
 停止:0
图片:1
服务器版本:1.13.1
存储驱动程序:overlay2
 备份文件系统:extfs
 支持d_type:true
 原生叠加Diff:true
logging驱动程序:json文件
 Cgroup驱动程序:cgroupfs
插件:
 卷:本地
 networking:桥主机macvlan空覆盖
群:不活跃
运行时:runc
默认运行时:runc
初始化二进制文件:docker-init
容器版本:aa8187dbd3b7ad67d

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

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