导航:首页 > 程序命令 > 容器启动后运行命令

容器启动后运行命令

发布时间:2022-03-14 03:59:12

A. docker进入container之后能运行什么命令

操作命令如下: Docker会在隔离的容器中运行进程。当运行docker run命令时,Docker会启动一个进程,并为这个进程分配其独占的文件系统、网络资源和以此进程为根进程的进程组。在容器启动时,

B. docker下容器怎么执行命令

Docker中我们一般会有两种执行命令的方式,一种是直接进入容器的命令行,在终端执行并查看结果,一种是在后台执行,并不会在终端查看结果。
1、进入容器命令行
su root
docker run -i -t ubuntu:16.04/bin/bash#或者执行下面这句docker run -it ubuntu:16.04/bin/bash

-i和-t的作用是帮助你进入交互模式,如果不加这部分,你将无法进入容器内部,更别说使用命令行了。/bin/bash的意思就是使用容器的命令行来输入命令。执行结果如下:
root@7d150a0fb029:/#
root后面跟的就是容器id,表明你已经进入容器,可以输入命令了,你可以输入一些常用命令试试:
root@7d150a0fb029:/# docker run -i -t ubuntu:16.04 /bin/bash
结果输出了镜像的内核版本信息:
Linux version 4.13.0-36-generic (buildd@lgw01-amd64-033)(gcc version 5.4.020160609(Ubuntu5.4.0-6ubuntu1~16.04.9))#40~16.04.1-Ubuntu SMP Fri Feb 16 23:25:58 UTC 2018

通过exit可退出容器。
2、后台执行命令
输入下面的代码,-d表示的就是后台运行,这点可以直接通过docker run –help查看该命令的功能。下面这句话的意思就是在镜像的程序中添加引号内的代码,并在后台运行。
docker run -d ubuntu:16.04 /bin/sh -c "while true; do echo hello world; sleep 1;done"
输出结果不会显示运行的结果,而是给出新建的容器id,这里说明一下,每次输入docker run命令都会新建一个容器,产生一个新的id。
输出结果如下:

查看一下正在运行的容器:
root@cdl-XPS15R:/home/cdl# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c7188be9bd7b ubuntu:16.04"/bin/sh -c 'while t…"13 seconds ago Up11 seconds keen_vaughan1b6ba17f7df7 ubuntu:16.04"/bin/bash"2 minutes ago Exited(0)2 minutes ago cocky_noether7d150a0fb029 ubuntu:16.04"/bin/bash"4 minutes ago Exited(0)2 minutes ago hopeful_banach

这里会发现,第一个容器的id和后台运行的容器id前几位一模一样,但是长度要长很多,其实是一样的,只不过通过ps命令打印输出时为了方便显示只显示了前几位。
如果想要进入后台运行的容器的命令行而不创建新的容器,只需要输入以下命令:
#Exec是进入已经存在的容器,run是创建新容器docker Exec-it c7188be9bd7b /bin/bash

输入哪个更长的id也是一样的效果:
docker Exec -it /bin/bash
输出结果都是:
root@c7188be9bd7b:/#

C. 如何启动一个已经创建的docker容器,并进入SHELL对其操作

有同学在docker下安装了nginx 但是不知道目录在哪,可以使用命令:
sudo find / -name "50x.html"

因为nginx里必定会有50x.html,所以查找它,结果发现nginx的目录在docker容器里,如果操作它,就需要进入容器的shell。

必须先启动容器:
sudo docker start “容器ID”

然后使用下边的命令进入shell:
sudo docker exec -it “容器ID” bash

将主机的文件复制到容器里:
sudo docker cp 主机目录 容器ID:容器目录

D. 如何让docker容器在执行shell命令后不退出运行

有同学在docker下安装了nginx但是不知道目录在哪,可以使用命令:sudofind/-name"50x.html"因为nginx里必定会有50x.html,所以查找它,结果发现nginx的目录在docker容器里,如果操作它,就需要进入容器的shell。必须先启动容器:sudodockerstart“容器ID”然后使用下边的命令进入shell:sudodockerexec-it“容器ID”bash将主机的文件复制到容器里:sudodockercp主机目录容器ID:容器目录

E. docker容器启动命令 /bin/bash有什么用,我发现不写这个命令也可以启动啊,求教大神。

这个命令不是启动容器的必填参数,这个命令只是在容器中会启动这个进程,如果你容器有写entrypoint的话,后面的命令会作为参数给entrypoint,entrypoint运行正常的话,容器就启动正常,所以和/bin/bash没有关系

F. docker 容器启动后,还能通过命令行挂接存储卷么

docker 容器启动后,再通过命令行很难挂载一个存储卷。因为mnt在容器运行过程中要在自己的工作空间执行。
通过以下步骤可以挂载:
(1)use nsenter to mount the whole filesystem containing this volume on a temporary mountpoint;
(2)create a bind mount from the specific directory that we want to use as the volume, to the right location of this volume;
(3)umount the temporary mountpoint.

G. docker启动容器命令

它的一个启动容器的命令基本上都是可以进行相应参考的,所以说这种情况下一定要选择一个经常用的命令才行。

H. 如何查看容器的启动命令

你好,操作命令如下:
Docker会在隔离的容器中运行进程。当运行docker run命令时,Docker会启动一个进程,并为这个进程分配其独占的文件系统、网络资源和以此进程为根进程的进程组。在容器启动时,镜像可能已经定义了要运行的二进制文件、暴露的网络端口等,但是用户可以通过docker run命令重新定义(译者注:docker run可以控制一个容器运行时的行为,它可以覆盖docker build在构建镜像时的一些默认配置),这也是为什么run命令相比于其它命令有如此多的参数的原因。

命令格式
最基本的docker run命令的格式如下:
$ sudo docker run [OPTIONS] IMAGE[:TAG] [COMMAND] [ARG...]

如果需要查看[OPTIONS]的详细使用说明,请参考Docker关于OPTIONS的章节。这里仅简要介绍Run所使用到的参数。OPTIONS总起来说可以分为两类:

设置运行方式:
决定容器的运行方式,前台执行还是后台执行;
设置containerID;
设置网络参数;
设置容器的CPU和内存参数;
- 设置权限和LXC参数;
设置镜像的默认资源,也就是说用户可以使用该命令来覆盖在镜像构建时的一些默认配置。

docker run [OPTIONS]可以让用户完全控制容器的生命周期,并允许用户覆盖执行docker build时所设定的参数,甚至也可以修改本身由Docker所控制的内核级参数。

I. 如何避免Docker容器启动脚本运行后自动退出

避免Docker容器启动脚本运行后自动退出的解决办法
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了

阅读全文

与容器启动后运行命令相关的资料

热点内容
rn是什么文件夹 浏览:988
钢筋核心区域加密 浏览:279
nginxphp慢 浏览:292
服务器系统如何写入u盘 浏览:12
cs社区服务器怎么改中文 浏览:25
360手机取消加密 浏览:964
python矩阵横向求和 浏览:637
台湾服务器主板厂商有哪些云主机 浏览:81
php代码部署到云服务器 浏览:724
本地服务器怎么打个人网站 浏览:131
用姓做个特效用哪个app 浏览:783
安卓faceme酷脸怎么打开 浏览:290
python矩阵的运算符 浏览:800
程序员进公司干什么 浏览:973
socket发数据java 浏览:566
上传图片服务器开小差是什么意思 浏览:786
pdf文件怎么转换为ppt文件 浏览:858
web前端开发与java 浏览:738
安卓如何卸载软件 浏览:502
linux如何查看服务器型号 浏览:283