问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

对于一个已有的docker容器,怎么添加运行参数

发布网友 发布时间:2022-04-24 06:14

我来回答

2个回答

热心网友 时间:2022-05-02 19:01

  从util-linux版本2.23开始,nsenter工具就包含在其中。它用来访问另一个进程的名字空间。nsenter要正常工作需要有root权限。很不幸,Ubuntu 14.4仍然使用的是util-linux版本2.20。安装最新版本的util-linux(2.24)版,请按照以下步骤:   为了连接到容器,你还需要找到容器的第一个进程的PID。   docker inspect --format "{{ .State.Pid }}" <container-id>   通过这个PID,你就可以连接到这个容器:   nsenter --target $PID --mount --uts --ipc --net --pid   nsinit   从0.9版本开始,Docker自身就具有一个管理容器的库,名字为 libcontainer。libcontainer中的nsinit工具允许用户直接访问linux名字空间和cgroup内核。在安装nsinit之前,你首先需要安装Go运行时环境:   apt-get install git golang-go mkdir -p $HOME/go-dev/binmkdir -p $HOME/go-dev/src echo "export GOPATH=\$HOME/go-dev" >> ~/.profileecho "PATH=\$PATH:\$GOPATH/bin" >> ~/.profile source ~/.profile   接下来才安装nsinit:   mkdir -p $GOPATH/src/github.com/dotcloudcd $GOPATH/src/github.com/dotcloud git clone https://github.com/dotcloud/docker.gitcd $GOPATH/src/github.com/dotcloud/docker /usr/bin/go get -v github.com/dotcloud/docker/vendor/src/github.com/docker/libcontainer/nsinit   nsinit读取的是位于/var/lib/docer/execdriver/native/<container-id>容器目录下的配置数据。要运行nsinit,你需要切换到容器目录下。由于/var/lib/docker目录对于root用户是只读权限,因此你还需要root权限。通过docker的ps命令,你可以确定容器ID。一旦你进入/var/lib/docker目录,你就可以连接容器了:   nsinit exec /bin/bash         lxc(-attach)   直到Docker 0.8.1版本为止,LXC一直是管理容器的基本工具,Docker一直支持这个工具。但是从0.9.0版本开始,Docker默认使用libcontainer管理容器,不再依赖LXC了。因此默认情况下,你不能使用lxc-attach了。   如果你仍然希望使用lxc-attach,那么你需要使用-e lxc选项来重新启动Docker服务进程。使用这个选项,Docker的内部将再次使用LXC管理容器了。完成这个任务最简单的做法就是创建/etc/default/docker文件(如果这个文件仍然不存在),并添加以下内容:   DOCKER_OPTS=" -e lxc"   现在你可以重新启动Docker服务了。要连接容器,你需要知道完整的容器ID:   docker ps --no-trunc   接下来,你就可以连接这个容器了。要完成下面工作,你还需要root权限:   lxc-attach -n <container-id> -- /bin/bash            sshd   上面所有三种方法都要求具有主机系统的root权限。为了不采用root权限,通过ssh访问容器将是一个很好的选择。   要做到这一点,你需要构建一个支持SSH服务的基础映像。此时,我们可能遇到这样的问题:我们是不是用Docker CMD或者ENTRYPOINT运行一条命令就可以了?如果此时有sshd进程运行,那么我们就不要再运行其他进程了。接下来的工作是创建一个脚本或者使用像supervisord这样的进程管理工具来启动其它所有需要启动的进程。有关如何使用supervisord的 优秀的文档可以在Docker的web站点上找到。一旦你启动了具有sshd进程的容器,你就可以像以往一样通过ssh客户端了连接这个容器了。   

热心网友 时间:2022-05-02 20:19

可以使用docker container update<容器id> 命令来添加参数。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
八月中国最凉快的地方 八月份哪里最凉快,去哪旅游好?美丽的地方 乱字同韵字是什么意思 华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 陕西职务侵占案立案准则 结婚后我的恋情维系了十年,怎么做到的? 玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 刮胡子一定要涂抹泡沫吗,不涂抹泡沫会怎样 docker desktop中的容器与宿主机的局域网络通信? docker 不同宿主机之间怎么通信 DOCKER中sql server2017连接外部出错 如何在外部连接docker中的mysql 眼睛有几种类型 网上有没有什么好赚钱的路子 网上除了开网店还有什么可以赚钱? 有什么方法可以通过网络挣钱 网上有没有可以赚钱的工作呀? etc收费系统是哪个国家发明的 双面左右对开和上下对开的区别 字左右对齐,在WORD 前后对左右,南北对东西,天地对什么,草木对什么,求对对 左难为右为难左右难为难为左右 怎么对? 左右那个是对的? 左右是一对么? 照样子对对子:前后对左右,天地对什么? 小学一年级大册中智力游戏问日对什么南对什么雨对什么西对什么左右对什么春夏 对“左右”一词的考释? 用手动剃须刀剃胡子用肥皂还是买泡沫? 孕中期上火怎么办? 如何挂在外部的配置文件到docker中的nginx 孕中期右侧上腹部抽痛是怎么回事 新手用手动刮胡刀要泡沫的好还是不需要泡沫? 孕中期上火怎么办?可以喝菊花茶 剃须刀不用泡沫可以吗 无法连接Oracle数据库使用Docker容器后问题,怎么解决 孕妇上怀和下怀有什么区别?是什么原因造成的? 孕中期怀上二胎可能吗? 刮胡子为什么要涂泡沫? 会啥进入孕中期之后晚上经常上火? 用手动剃须刀剃胡子大家都用肥皂还是买泡沫?是不是用着差不多? 孕中期肚子上长了大片红斑,有点痒,这是怎么回事 孕中期,晚上尿频上厕所6趟,正常吗? 刮胡子时为什么要用泡沫? 孕中期的准妈妈最舒服,在饮食上需要遵守哪几点? 刮胡子一定要用剃须泡沫吗,我用的吉列锋速3突破有人说不用泡沫会刺激皮肤但是我是刚刮胡子很软可以直接刮 怀孕第2个月感觉明显吗?准妈妈身体上和感觉上会有哪些变化? 刮胡子除了剃须泡沫还可以用什么代替产生泡沫??