docker~run起来之后执行多条命令

最近在搞jenkins pipeline的部署工作,而在对.net core进行部署时不希望安装dotnet sdk,为了移植性更好,打算直接使用aspnetcore的docker镜像,通过docker去run它,而在这个时间出现了一个问题 docker run aspnetcore:2.0之后如果希望同时执行多个sh命令出现了问题,还非要写个脚本文件,这是大叔不喜欢的!

docker run aspnetcore:2.0 ls && ls

结果是第一个ls显示的是容器里的内容,而第二个ls显示的是本地centos的内容,这不是大叔希望的!

大叔希望两个ls,即多条sh命令都在容器里执行,这样就避免了新加SH文件的烦恼!

然后大叔找了一些资料,幸运的是,被大叔找到了!

docker run 5800 sh -c "ls && echo ‘-------‘ &&  ls"

事实上,就是在run后面加了一个sh -c命令,后面直接加多条语句即可!

这次是我希望的结果,终于可以了,以后不用建立SH文件了,本来就不应该建立多余的文件,呵呵 !

时间: 2024-08-04 07:07:29

docker~run起来之后执行多条命令的相关文章

Linux 连续执行多条命令

每条命令使用";"隔开,则无论前边的命令执行成功与否都会继续执行下一条命令 这里,故意将第二条命令中的echo多写了一个o,命令执行出错,但并不影响后续命令的执行 可以这么想,如果用分号来间隔命令,就相当于将命令分隔在了不同的行,无论前一行的命令成功或失败,都不影响下一行命令的执行. $ echo 1; echoo 2; echo 3; echo 4 1 -bash: echoo: command not found 3 4 若命令间使用"&&"隔开

使用批处理文件同时打多个CMD窗口且执行多条命令

使用批处理文件时,可以用下面方法打打多个CMD窗口,并且每个窗口中执行多条命令. start 用来启动一个应用cmd /k 表示cmd后面的命令执行完后不关闭窗口.如果要在执行完成后关闭窗口可以用/c .详细请使用cmd/?查看"命令1&&命令2&&.." 将要执行的多条命令使用引号全部包起来,并且在命令间用&&分隔.如果只有一条命令则不用引号也可以. @echo off start cmd /k "cd/d d:\&&

supervisor的command执行两条命令

supervisor的进程的comand配置参数只能写一个命令 1.要执行多条命令,可以写个sh文件包含多条命令,然后sh -x   xxxx.sh,但这样又多了一个文件, 2.把所有命令放在字符串,然后用eval来执行,这样在shell窗口可以执行,但放在supervisor报找不到eval命令.比如: command = eval  "python -u app/utils_ydf/git_client.py&&gunicorn -w 9 -k gevent --bind 0

docker run 之后执行多条命令

执行 ls docker run microsoft/dotnet ls && cd /root 执行 多条使用sh -c命令 在run后面加了一个sh -c命令,后面直接加多条语句即可 docker run microsoft/dotnet sh -c "ls && ls" 原文地址:https://www.cnblogs.com/WNpursue/p/10773528.html

npm下scripts执行多条命令下mac与windows的差异

window下写法: mac下写法: mac下使用&&来连接多条命令并不会把之前赋值的projectName带回到当前执行环境的语义环境里,如果去掉&&,改成空格 则webpack及webpack以后的命令都不会执行,所以就出现一个问题,使用&&则之前的变量无法获取,不使用&&则后面的命令无法执行,在请教了同事(linux专家)后,改成不适用&& 也不是用空格,而是使用分号;

python paramiko模块远程执行多条命令

最近一直在用python的paramiko执行远程命令,发现如果直接写的话在每条命令后加分号执行时会报错,如果不加分号,分一条命令一条命令地执行,起不到作用,如切换路径等,后面在网上找到了相关的方法,只要在exec_command(cmd,get_pty=True)在命令语句后加get_pty=True即可.代码如下: def exec_command(self,cmd): client = paramiko.SSHClient() try: client.set_missing_host_ke

Linux 连续执行多条命令的方法

多个命令可以放在一行上,其执行情况得依赖于用在命令之间的分隔符. 如果每个命令被一个分号 (;) 所分隔,那么命令会连续的执行下去,如: 引用 [email protected]:/proc> printf "%s/n" "This is executed" ; printf "%s/n" "And so is this"This is executedAnd so is this 如果每个命令被 && 

paramiko分开执行多条命令 不像之前一样使用\n

#!/usr/bin/env python#-*- encoding -*- import paramiko transport = paramiko.Transport(('192.168.11.181', 22))transport.connect(username='ahwater', password='Aa7788..') ssh = paramiko.SSHClient()ssh._transport = transport stdin, stdout, stderr = ssh.e

Docker run执行流详解(以volume,network和libcontainer为线索)

通常我们都习惯了使用Docker run来执行一个Docker容器,那么在我们执行Docker run之后,Docker到底都做了什么工作呢?本文通过追踪Docker run(Docker 1.9版本)的执行流程,借由对volume,network和libcontainer的使用和配置的介绍,对Docker run的原理进行了详细解读. 首先,用户通过Docker client输入docker run来创建被运行一个容器.Docker client主要的工作是通过解析用户所提供的一系列参数后,分