shell 编程中docker问题 5C

各位大神,在root用户下执行的shell脚本如何在进入docker之后执行,望指教,附上一段代码作为示例,这个代码执行不了。各位看看

#!/bin/bash

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

HOST_IP=ifconfig eth0 | awk '/inet addr:/{ print $2 }' | awk -F: '{print $2 }'

cd docker-1.9.1
dpkg -i *.deb
sed -i '7s/^#//' /etc/default/docker
grep -q 'DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4' /etc/default/docker
if [ $? -eq 0 ]
then

sed -i '7c DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4 -g /iflytek/docker"' /etc/default/docker
else
echo no modify!!!
fi
service docker restart

cd /root
cat nginx-2.0.tar.gz | docker import - nginx:v2.0
docker images

docker run -it --name=nginx --net=host --restart=always --privileged=true nginx:v2.0 /bin/bash -c "
cd /iflytek/docker/aufs/mnt
nginx=ls -t | head -n 1
cd $nginx/usr/local/webservices/nginx/conf/

grep -q 'listen 80 backlog=65535;' $nginx/usr/local/webservices/nginx/conf//conf/nginx.conf
if [ $? -eq 0 ]
then
echo not need modify!!!
else
sed -i '27c listen 80 backlog=65535;' $nginx/usr/local/webservices/nginx/conf//conf/nginx.conf
fi
"

0

1个回答

0
jia_xue
jia_xue 回复xiaodong0708: 麻烦举个例子,我是菜鸟级别的,在此多谢了
一年多之前 回复
xiaodong0708
半路出家当和尚 回复jia_xue: 需要将本地脚本映射到docker容器中
一年多之前 回复
jia_xue
jia_xue 自己写个shell脚本,在root用户下可以执行,现在的问题是如何让他在docker里面执行,这种方法不行
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Shell 实现Docker MySQL5.7安装及SQL脚本运行
Linux Shell 实现Docker MySQL安装及脚本运行的目标: 1、实现MySQL5.7安装 2、安装完成后创建对应的账号和数据库实例表等 创建docker mysql容器实例 定义docker_mysql_install.sh #! /bin/bash #file:mysql_docker_install.sh #company:cvnavi.com #author:Pe...
shell docker 镜像推送的使用
#!/bin/bash Doc_Ima_1=(`docker images |awk '{print $1}' |tr "\n" " "`) Doc_Ima_2=(`docker images |awk '{print $2}' | tr "\n" " "`) Doc_Ima_4=(`docker images |awk '{print $4}' | tr "\n" " "`) Doc_Ima_i=
解决docker容器与宿主机无缝调用shell命令问题
nsenter -t 1 -m -u -n -i sh -c "echo hello world! " (docker容器加上privilege权限,设置pid: "host")
shell 编程shell 编程
shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程
shell语言——自动构建docker镜像、容器
创建文件名为local-redis-images.sh (名字自定义) 编辑local-redis-images.sh #! bin/bash #镜像脚本 echo "[ 动态传参]" #version是参数变量 version=$1 echo "[ 构建镜像 ]" cd /data/gdeop/local-prod/ #${version}参数变量是在执行sh local-redis-...
进入Docker容器的shell脚本
进入Docker容器的shell脚本    使用root用户安装util-linux yum -y install util-linux   编写脚本 vi docker-enter.sh    #!/bin/bash CNAME=$1 CPID=$(docker inspect --format "{{.State.Pid}}" $CNAME) if [ "$#" -g...
Dockerfile中的RUN、CMD 和 ENTRYPOINT指令的两种格式(shell与exec)
shell格式与exec格式 RUN:执行命令并创建新的镜像层,RUN经常用于安装软件包。 CMD:设置容器启动后默认执行的命令及其参数,但CMD能够被docker run后面跟的命令行参数替换。dockerfile中可以有多个cmd指令,但只有最后一个生效。CMD可以被docker run之后的参数代替 ENTRYPOINT:配置容器启动时运行的命令,Dockerfile中可以有多个ENTRYP...
Jenkins 构建Docker镜像执行shell脚本用户权限问题
在jenkins 构建docker 镜像时,执行到docker build 时,构建失败了,错误信息如下:+ docker build -t cloud-paas-portal:13 --build-arg APP_KEY=cloud-paas-portal . Cannot connect to the Docker daemon. Is the docker daemon running on
dockerfile中CMD命令中shell与数组的区别
首先我们需要导入busybox镜像,在此基础镜像上来运行build查看shell与数组的区别 情况一: 情况二:
企业—Docker容器中镜像的构建shell和exec格式的区别
1.下载busybox镜像并且导入本地 2.重新编辑dockfile文件,以shell格式编写,并且验证 //编写dockerfile文件 [root@server1 ~]# cd /tmp/docker/ [root@server1 docker]# vim Dockerfile 文件编辑的内容如下: FROM busybox ENV name world ENTRYPOINT echo "...
shell的编程shell的编程
shell的编程shell的编程shell的编程shell的编程shell的编程shell的编程shell的编程shell的编程shell的编程shell的编程shell的编程
Shell 获取Docker容器主机名
docker inspect -f '{{.Config.Hostname}}' 容器名
Dockerfile 中命令的两种书写方式的区别
最早的初衷是要研究一下运行 Docker 容器时如何向其传递参数,却冷不防掉入了另一个深渊,不得不关心起 Dockerfile 中命令(包括 RUN, CMD 和 ENTRYPOINT) 的两种不同写法上的区别。所以呢,先要稍稍了解一下 Dockerfile 中 RUN, CMD, ENTRYPOINT 这三个指令RUN 执行命令并创建新的镜像层,常用于安装软件包。可以多个,为避免创建过多的镜像层...
PowerShell + docker-compose +.net core 发布阿里云镜像库 学习笔记(前言)
1、掌握docker-compose命令 2、掌握compose模板文件 3、编写docker-compose.yml文件 4、利用PowerShell发布镜像   Compose 简介 Compose 项目是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排。从功能上看,跟 OpenStack 中的 Heat 十分类似。 其代码目前在 https://gi...
docker 批量启动项目 shell 脚本
#!/bin/bash serverList=("eureka-server:8761" "gateway-zuul:8040" "blockchain-core:8010" "blockchain-order:8020"); co
shell 编程 shell
shell 编程 ;shell 编程 。shell 编程 shell 编程 shell 编程
linux shell 编程part1
linux shell 编程linux shell 编程linux shell 编程linux shell 编程linux shell 编程linux shell 编程linux shell 编程linux shell 编程linux shell 编程
Shell实现Docker环境准备和应用服务运行
考虑问题 还是根据之前的Shell编写经验,本文需要注意几个问题: Docker 的容器IP获取 如何进入MySQL容器执行数据库脚本 Docker应用镜像的导入导出 Shell 脚本sed -i 修改XML参数空格问题导致参数个数解析多于预期 如何设计脚本执行的命令方式入口及帮助文档 示例脚本 下面是回答上面问题的一个脚本:install.sh #! /bin/bash #fi...
shell linux下编程
shell linux下编程shell linux下编程shell linux下编程shell linux下编程shell linux下编程shell linux下编程shell linux下编程shell linux下编程shell linux下编程shell linux下编程shell linux下编程shell linux下编程
Shell实现Docker环境检测和安装
shell脚本执行的是bash语法,这里定一个docker_install函数: function docker_install() { echo "检查Docker......" docker -v if [ $? -eq 0 ]; then echo "检查到Docker已安装!" else echo "安装docker环境..." ...
【docker】环境变量 和 脚本 作用
docker的作用是提供应用的隔离环境,方便部署。 dockerfile有env选项,可以让我们在生成的镜像里添加一些环境变量,这些环境变量有什么作用? 可以用来作为标志,代表部署的环境的一些参数。 比如说我们需要一个docker部署一个mysql。那么我们可以添加一个标识来表示这个mysql是以什么方式启动的,比如说可以通过集群方式启动,也可以通过单机方式启动,很显然这两种模式的启
SHELL 编程
SHELL 编程 SHELL 编程 SHELL 编程 SHELL 编程
基于websocket和java实现webshell访问docker容器
基于websocket和java实现webshell访问docker容器需求:PaaS平台展示容器信息,并在web端实现与该容器webshell交互。介绍:通过ws请求与主机建立websocket连接,执行docker exec -i [containerid] /bin/bash命令进入docker容器。进入容器是可以理解为进入进程,通过进程的输入输出流进行交
进入Docker容器中执行命令
#查看容器的ID $ sudo docker ps $ sudo docker exec -it 7752222e1e1 /bin/bash #或者说一下sh $ sudo docker exec -it 7752222e1e1 /bin/sh  
如何在 Dockerfile 文件中添加 bash 脚本
需求 : 我需要在启动 docker 容器的同时在容器中执行启动 Laravel 队列的脚本 php artisan queue:work 在 Dockerfile 配置文件夹中添加一个 .sh 的文件 #!/bin/sh echo 'start message queue' service apache2 start php /var/www/html/artisan queue:...
jenkins中通过execute shell启动的进程会被杀死
1.重设环境变量build_id   在execute shell输入框中加入BUILD_ID=DONTKILLME,即可防止jenkins杀死启动的进程      2.在启动jenkins 的时候禁止jenkins杀死衍生进程     修改/etc/sysconfig/jenkins配置,在JENKINS_JAVA_OPTIONS中加入-Dhudson.util.ProcessTree....
docker终端无法输入中文的解决方法
# 查看容器支持的字符集 root@0a112c7f0dea:/# locale -a C C.UTF-8 POSIX 不能输入中文原因:系统使用的是POSIX字符集,POSIX字符集是不支持中文的,而C.UTF-8是支持中文的 只要把系统中的环境 LANG 改为"C.UTF-8"格式即可解决问题 只要这样进入容器即可输入中文: docker exec -it 0a112c7f0dea env ...
Shell脚本构建Docker 半自动化编译打包发布应用
Docker 发布的方式为实现DevOps(自动化运维,需要配置 代码管理工具如Git的hook来实现提交编译、打包、发布等一系列事件控制)提供了诸多方便,辅助于Shell脚本可以很好的配合起来。Docker镜像可以通过自动化编译,也可以通过导入镜像的方式来获得。本文的题目叫:Shell脚本构建Docker 半自动化编译打包发布,因为我这里还没跟代码管理关联起来。 Shell脚本不同实现 导入...
Shell 基于Docker操作InfluxDB安装建库创建用户并授权
InfluxDB提供了一些辅助命令,使得我们可以不用进入到influxdb控制台里面就可以操作,这点很像mysql,所以实现起来很方便快捷。 目录 安装脚本 数据库操作脚本 执行输出 安装脚本 docker_influxdb_install.sh #! /bin/bash #file:docker_influxdb_install.sh #company:cvnavi.com #a...
Shell删除包含指定名称的Docker Image
docker images | grep -E "(aaa|bbb)" | awk '{print $3}' | uniq | xargs -I {} docker rmi --force {} 说明:docker images 查询出所有的image,然后通过grep 使用扩展的正则表达式匹配,找出含有aaa或者bbb的映像文件,接着用awk打印出第三列也就是hash值的那一列,再通过uniq
shell的使用和编程
shell的使用方法和编程用法。其中主要讲述了在LINUX系统中shell这个命令的使用和编程的实现。
在crontab中无法执行docker-compose的命令的解决方法
    经过多次实验,终于找到在crontab中执行docker-compose命令的方法。    即使是用cd /home/user/program切换目录到项目里面,用docker-compose执行也是没有效果的,    其中最关键的是,要写命令的全路径,唯有把docker-compose程序的全路径/usr/local/bin/docker-compose添加到shell脚本中去,才会执行...
shell 编程下
shell 编程下 shell 编程下 shell 编程下
shell 编程
shell 编程shell 编程shell 编程
docker批量操作(awk、sed)
docker批量打tag docker images | sed 's/gcr.io\/google_containers\//harbor.test.com\/kubernetes_images\//' | awk '{print "docker tag "$3" "$1":"$2}' | tail -6 | sh docker批量推送 docker images | grep
Docker中CMD,ENTRYPOINT命令区别,shell和Exec格式 (Docker学习笔记一)
CMD,ENTRYPOINT命令区别 CMD: 启动容器后,提供默认命令及参数 (不一定会执行,只是默认) 会docker run 后面参数替换 ENTRYPOINT: 启动容器时执行(一定会执行) /* 例如: Dockerfile 中: FROM centos //必须现有base镜像,否则Error:No build stage in current...
docker容器测试shell脚本等
docker中的volumemount不要配置 数据不会持久化到实际盘 这样在虚拟容器上随便搞
LINUX与UNIX SHELL编程指南.rar
LINUX UNIX SHELL 编程 LINUX UNIX SHELL 编程 LINUX UNIX SHELL 编程 LINUX UNIX SHELL 编程 LINUX UNIX SHELL 编程 LINUX UNIX SHELL 编程 LINUX UNIX SHELL 编程 LINUX UNIX SHELL 编程 LINUX UNIX SHELL 编程 LINUX UNIX SHELL 编程 LINUX UNIX SHELL 编程 LINUX UNIX SHELL 编程
docker、docker-compos在线安装脚本
这是在线一键安装docker、docker-compose的shell脚本文件。
shell编程——文件的操作(二)
1    使用comm比较文件comm [option] ... file1 file2逐行比较两个有序的文件默认情况下,comm命令会输出3列,分别为第1个文件独有的文本行、第2个文件独有的文本行,以及两个文件公共的文本行。用户可以使用-1、-2以及-3选项分别隐藏这三个列。在输出结果中,每一行都是一条记录2    使用diff比较文件diff命令功能也是逐行比较多个文件的内容,与comm不同的...