㈠ 如何与运行中Docker进行命令行交互
交互式运行docker容器
[root@gage ~]#docker run -t -i ubuntu:14.04 /bin/bash
root@89471dce598b:/# ls
bin dev home lib64 mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr
root@89471dce598b:/# pwd
/
root@89471dce598b:/# exit
exit
后台运行一个容器让其输出hello world
[root@gage ~]# docker run -d ubuntu:14.04 /bin/sh -c "while true; do echo hello world; sleep 1; done"
显示正在运行的docker容器
[root@gage ~]# docker ps
Container ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4bc1b2f2257e ubuntu:14.04 "/bin/sh -c 'while tr" 27 seconds ago Up 26 seconds insane_bhabha
使用docker logs命令查看容器标准输出
[root@gage ~]# docker logs insane_bhabha
hello world
hello world
hello world
hello world
使用docker stop 停止容器
[root@gage ~]# docker stop insane_bhabha
insane_bhabha
[root@gage ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
㈡ docker 容器里好多命令没有怎么办
如果你的docker-registry是在container中,那么是无法使用命令删除image的,只能手动直接删除image文件。如果不是,那么可以使用docker rmi 镜像名 来进行删除
㈢ docker的一个容器所有的docker命令对它都无效是什么原因
检查你的docker软件是否安装好
检查你的用户是否有权限
检查你的容器是否在运行
希望可以帮助你 请 采纳 谢谢
㈣ 如何在python脚本里调docker命令
在搭建开发环境时,我们都希望搭建过程能够简单,并且一劳永逸,其他的同事可以复用已经搭建好的开发环境以节省开发时间。而在搭建开发环境时,我们经常会被复杂的配置以及重复的下载安装所困扰。在Docker技术未出现之前,我们可以使用Pupet、Chef、Ansible等配置管理工具把复杂的配置管理起来,这样的管理配置技术仍然是目前比较流行的方式之一。配置管理工具使用的都是自己的DSL语法定义,考虑到环境的复杂性,配置一套通用的开发环境需要针对各个系统定制,对于大部分开发环境这种维护成本仍然是很高的。Docker技术出现之后,系统的依赖问题得到了彻底的解决,我们可以通过镜像的方式简化环境的安装。结合Docker的开发部署工具Fig,我们可以使用fig.yml文件来定义所有的环境,一次定义,多处使用,简单而且高效。
㈤ 几条简单的docker命令
容器生命周期管理 — docker [run|start|stop|restart|kill|rm|pause|unpause]
容器操作运维 — docker [ps|inspect|top|attach|events|logs|wait|export|port]
容器rootfs命令 — docker [commit|cp|diff]
镜像仓库 — docker [login|pull|push|search]
本地镜像管理 — docker [images|rmi|tag|build|history|save|import]
其他命令 — docker [info|version]
㈥ docker容器启动命令 /bin/bash有什么用,我发现不写这个命令也可以启动啊,求教大神。
这个命令不是启动容器的必填参数,这个命令只是在容器中会启动这个进程,如果你容器有写entrypoint的话,后面的命令会作为参数给entrypoint,entrypoint运行正常的话,容器就启动正常,所以和/bin/bash没有关系
㈦ 如何用docker run命令执行脚本而不退出
docker run指定的命令如果不是那些一直挂起的命令(比如运行top,不断echo),就是会自动退出的。-d命令是设置detach为true,根据官方的文档,意思是让这个命令在后台运行,但并不是一直运行(我们在一个正常的Linux Terminal中运行/bin/bash,运行完了也就完了,不会一直挂着等待响应的,所以确实没办法用daemon方式来跑/bin/bash)。
这个地方官方早期和现在的文档也确实有些前后不一致,现在是detach,早期的文档说指定-d以daemon方式来运行容器,可能存在一定的误解。
另外,如果你需要跑容器里的bash,直接运行docker run -i -t CONTAINER_NAME /bin/bash 就可以了,如果觉得参数比docker attach多,可以设置一个别名(alias)来解决:
alias dockerbash='docker run -i -t CONTAINER_ID /bin/bash'
设置好别名后,直接运行dockerbash就可以进入容器的bash了
㈧ docker启动容器命令
它的一个启动容器的命令基本上都是可以进行相应参考的,所以说这种情况下一定要选择一个经常用的命令才行。
㈨ 如何在容器中运行docker命令
我们可以轻易地在Docker容器中运行大多数GUI程序且不出错。Docker是一个开源项目,提供了一个打包、分发和运行任意程序的轻量级容器
的开放平台。它没有语言支持、框架或者打包系统的限制,并可以运行在任何地方、任何时候,从小型的家用电脑到高端的服务器都可以运行。这让人们可以打包不
同的包用于部署和扩展网络应用,数据库和后端服务而不必依赖于特定的栈或者提供商。
下面是我们该如何在Docker容器中运行GUI程序的简单步骤。本教程中,我们会用Firefox作为例子。
1. 安装 Docker
在开始前,我们首先得确保在Linux主机中已经安装了Docker。这里,我运行的是CentOS 7 主机,我们将运行yum管理器和下面的命令来安装Docker。
# yum install docker
# systemctl restart docker.service
2. 创建 Dockerfile
现在,Docker守护进程已经在运行中了,我们现在准备创建自己的Firefox
Docker容器。我们要创建一个Dockerfile,在其中我们要输入需要的配置来创建一个可以工作的Firefox容器。为了运行 Docker
镜像我们需要使用最新版本的CentOS。要创建 Docker 镜像,我们需要用文本编辑器创建一个名为Dockerfile的文件。
# nano Dockerfile
接着,在Dockerfile中添加下面的行并保存。
#!/bin/bash
FROM centos:7
RUN yum install -y firefox
# 用你自己的 uid /gid 替换下面的0
RUN export uid=0 gid=0
RUN mkdir -p /home/developer
RUN echo "developer:x:${uid}:${gid}:Developer,,,:/home/developer:/bin/bash">>/etc/passwd
RUN echo "developer:x:${uid}:">>/etc/group
RUN echo "developer ALL=(ALL) NOPASSWD: ALL">>/etc/sudoers
RUN chmod 0440/etc/sudoers
RUN chown ${uid}:${gid}-R /home/developer
USER developer
ENV HOME /home/developer
CMD /usr/bin/firefox
注意:在第四行的配置中,用你自己的用户和组id来替换0。 我们可以用下面的命令在shell或者终端中得到uid和gid。
# id $USER
3. 构造Docker容器
下面我们就要根据上面的Dockerfile构建一个容器。它会安装firefox浏览器和它需要的包。它接着会设置用户权限并让它可以工作。这里镜像名是firefox,你可以根据你的需要命名。
# docker build --rm -t firefox .
4. 运行Docker容器
现在,如果一切顺利,我们现在可以在运行在CentOS 7镜像中的Docker容器里面运行我们的GUI程序也就是Firefox浏览器了。
# docker run -ti --rm -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix firefox
总结
在Docker容器中运行GUI程序是一次很棒的体验,它对你的主机文件系统没有任何的伤害。它完全依赖你的Docker容器。