docker exec重启容器内部服务遇到的问题

起因:因为更改ldap域名,老的ldap服务器还是不断有请求发过来,经过排查发现是虚拟机的nslcd发过来的请求,但是nslcd服务配置中配置的是域名而不是ldap的ip地址,试了一下,重启服务才能去连接新的ldap服务,但是由于虚拟机众多,一个一个执行时灰常傻X的,所以打算用docker exec来循环执行,但是执行遇到了问题,如下

[[email protected] ~]# for i in tianpei.wang_172.16.162.105; do docker exec -i $i /etc/init.d/nslcd restart; done

Stopping nslcd: [FAILED]

Starting nslcd: nslcd: daemon may already be active, cannot acquire lock (/var/run/nslcd/nslcd.pid): Permission denied

[FAILED]

权限不够

解决方法:用bash来执行标准输入,问题解决

[[email protected] ~]# for i in tianpei.wang_172.16.162.105; do echo ‘/etc/init.d/nslcd restart‘|docker exec -i $i bash; done

Stopping nslcd: [  OK  ]

Starting nslcd: [  OK  ]

时间: 2024-10-24 16:09:42

docker exec重启容器内部服务遇到的问题的相关文章

docker exec 与容器日志

翻看 Docker 的历史,您会发现 Docker 一直在强调 "Application" 一词,Docker 也希望能为分布式应用提供容器化的解决方案. 从 Docker 化应用软件的生命周期来看,开发工作似乎位于 Docker 的构建之前,而后容器化的测试.部署与运维都与Docker容器息息相关.不得不说,Docker 思维下的应用软件,管理流程与传统场景有着很大的区别. 最大的区别当属:Docker 容器运行环境的封闭性.单一应用的运行,使得容器内部缺少功能丰富的服务.虽然用户可

Docker 镜像与容器管理(2)

title: Docker 镜像与容器管理(2) date: 2018-12-14 17:04:05 tags: Docker categories: Docker copyright: true --- Docker是基于Go语言实现的开源容器项目,Docker让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何接口,Docker诞生于2013年年初,最初发起者是dotCloud公司.D

11、《每天5分钟玩转Docker容器技术》学习-Docker命令之容器生命周期管理

a) Docker create 命令 docker create :创建一个新的容器但不启动它 docker create [OPTIONS] IMAGE [COMMAND] [ARG...] -a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项: -d: 后台运行容器,并返回容器ID: -i: 以交互模式运行容器,通常与 -t 同时使用: -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用: --name="nginx-lb":

docker第二天:管理docker镜像与容器(下)

本次介绍常用的镜像与容器的相关管理命令 一.常用的与镜像相关的命令: 1.了解镜像的制作过程 [[email protected] ~]# docker history centos 2.了解镜底层信息 [[email protected] ~]# docker inspect centos 查看某一具体项信息 [[email protected] ~]# docker inspect -f {{.RootFS}} centos 3.删除本地镜像 [[email protected] ~]# d

docker的镜像 容器 仓库

docker镜像与容器 ##docker 下载镜像 docker pull centos ##查看docker里有哪些镜像 docker image ##创建容器 docker run -p 8080:8080 -d centos [-d :后台运行 ]不加-d 会一直显示 只能另开终端stop掉[ -p :绑定本机端口和容器端] ##查看docker正在运行的容器 docker ps ##查看docker的运行日志 docker logs -f 容器id[-f :动态显示容器运行日志]不加-f

如何进入到Docker容器内部

启动Docker容器后,对应的服务(例如tomcat启动)也通过dockerfile文件命令运行起来了,这个时候如何进行容器内部观察容器的运行状态. 1.docker attach 这个命令在创建一个守护态的Docker容器,然后使用docker attach命令进入该容器. 2.docker exec 这个命令比较方便,可以在容器运行别的服务时连接上该容器 进入容器命令 sudo docker exec -it containerID /bin/bash 实例操作如下 进入,ping宿主机IP

【docker】docker部署spring boot服务,但是docker logs查看容器输出控制台日志,没有日志打印,日志未打印,docker logs不打印容器日志

如题: docker部署spring boot服务,但是docker logs查看容器输出控制台日志,没有日志打印,日志未打印,docker logs不打印容器日志 场景再现: docker部署并启动了  springboot服务,容器启动正常,docker exec 也可以正常进入容器内部,但是docker logs 控制台并没有日志打印出来. 同样的,/var/lib/docker/containers目录下的对应容器目录中,也没有对应的 *-json.log日志文件生成. 原因: dock

Docker 添加容器SSH服务(4)

title: Docker 添加容器SSH服务(4) date: 2018-12-15 20:26:12 tags: Docker categories: Docker copyright: true --- Docker是基于Go语言实现的开源容器项目,Docker让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何接口,Docker诞生于2013年年初,最初发起者是dotCloud公司

Docker+JMeter+InfluxDB+Grafana从容器内部发起压测

1.自由定制JMeter镜像: Dockerfile文件: FROM java:8# 基础镜像 MAINTAINER yangjianliang <[email protected]># 作者 ENV http_proxy ""ENV https_proxy "" RUN mkdir /test && \ chmod -R 777 /test# 创建/test目录,用于存放jmx脚本.jtl结果文件.html测试报告文件 ENV JMET