问答1 问答5 问答50 问答500 问答1000
网友互助专业问答平台

一个运行中的Docker容器怎么修改执行run命令时的环境变量

提问网友 发布时间:2022-02-26 21:24
声明:本网页内容为用户发布,旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:1656858193@qq.com
2个回答
懂视网 回答时间:2022-02-27 01:46

产品型号:Thinkpad E15

系统版本:centos8

docker命令教程

例1:运行一个 container并加载镜像centos,运行起来这个实例后,在实例中执行 /bin/bash命令

docker常用参数:

run  运行

-i   以交互模式运行容器,通常与 -t 同时使用;

-t  为容器重新分配一个伪输入终端,通常与 -i 同时使用;

[root@xuegod63 ~]# docker images 

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

centos    latest              196e0ce0c9fb        12 days ago         196.6 MB

[root@xuegod63 ~]# docker run -it centos:latest bash  #启动一个实例,也就2秒就可以搞定

[root@068fd8c70344 /]# ls   #查看实例环境

[root@f072b5ae7542 /]# cat /etc/redhat-release 

退出容器:

[root@f072b5ae7542 /]#exit

例2:在 container 中启动一个长久运行的进程,不断向stdin输出 hello world 。模拟一个后台运行的服务

docker常用参数:

-d  后台运行容器,并返回容器ID;

-c  后面跟待完成的命令

[root@xuegod63 ~]# docker run  -d centos:latest /bin/sh -c "while true;do echo hello world; sleep 1; done"

1b3493487c4fde6eb233d59fa9ab9a204ad993cd3debbd5a9a28be6816694605

#容器的ID

从一个容器中取日志,查看输出的内容,可用于后期检查docker实例在标准输出中弹出的错误信息或正常的信息。 

语法: docker  logs   容器实例的Name/ID  

[root@xuegod63 ~]# docker logs 1b3493487c4    #容器的ID可以写全,也可以不写全,只要唯一就可以了

hello world

hello world

hello world

hello world

查看正在运行的容器:

[root@xuegod63 ~]# docker ps  #列出所有运行中容器。

也可以使用短ID或docker实例的名字查看日志输出:

[root@xuegod63 ~]# docker logs 4109c3446284

或:

[root@xuegod63 ~]# docker logs flamboyant_davinci

[root@xuegod63 ~]# docker ps -a  #-a 列出所有容器(包含沉睡/退出状态的容器);

总结:

1、docker run -it centos:latest bash  启动一个实例 

2、docker run  -d centos:latest /bin/sh -c "while true;do echo hello world; sleep 1; done"  #后台运行容器,并返回容器ID;

3、docker  logs   容器实例的Name/ID从一个容器中取日志,查看输出的内容

4、docker ps  #列出所有运行中容器。

热心网友 回答时间:2022-02-26 22:54
你好,操作命令如下:
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所控制的内核级参数。

Operator exclusive options
当执行docker run时可以设置以下参数:

Detached vs Foreground
Detached (-d)
- Foreground
Container Identification
Name (--name)
- PID Equivalent
IPC Setting
Network Settings
Clean Up (--rm)
Runtime Constraints on CPU and Memory
Runtime Privilege, Linux Capabilities, and LXC Configuration

接下来我们依次进行介绍。

Detached vs foreground

当我们启动一个容器时,首先需要确定这个容器是运行在前台还是运行在后台。
-d=false: Detached mode: Run container in the background, print new container id

Detached (-d)

如果在docker run后面追加-d=true或者-d,那么容器将会运行在后台模式。此时所有I/O数据只能通过网络资源或者共享卷组来进行交互。因为容器不再监听你执行docker run的这个终端命令行窗口。但你可以通过执行docker attach来重新附着到该容器的回话中。需要注意的是,容器运行在后台模式下,是不能使用--rm选项的。

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

相关推荐
  • dockerrun参数

    dockerrun参数

    docker命令的用法: run运行容器 , -i 交互模式运行, -t 为容器分配伪终端 ,-d 后台运行,ps 查看正在运行的docker实例,logs取出容器内日志等。
    查看详情
docker run参数里volumes-from和device有什么区别 docker启动容器后如何更新参数 qq下载的离线文件在哪里可以找到? 如何设置nginx和apache 可以同时装apache和nginx么 如何配置nginx跟apache 怎么安装apachehttpd ubuntu 下如何安装apache? windows如何安装APACHE2.0 淘宝怎么输入口令 win10怎么安装apache Apache如何安装在电脑上? Apache怎样安装啊 apache没有安装文件怎么安装 apache-tomcat如何安装? Apache如何安装到服务? u盘怎么样去掉写保护 怎样安装apache U盘怎么去去掉写保护? 如何安装Apache2 qq阅读书币充值 centos7下docker run命令,如何根据环境变量编写命令,让镜像变成容器运行起来? docker run.sh要自己写吗 docker容器里面怎么更改内核参数 每次run一个新容器时是否有必要设置ulimit参数 docker run 和网络有关吗 Dockerfile里指定执行命令用ENTRYPOING和用CMD有何不同 docker内执行reboot命令会重启物理机吗 dockerfile CMD执行多条命令且需要支持环境变量 如何通过java来操作docker镜像 如何用Gradle创建Docker镜像 Dockerfile中ENTRYPOINT 和 CMD的区别 docker 所有web都要加端口号吗? docker pull 后怎么用 怎么在docker 中启动一个daemon 如何在linux系统下安装nginx nginx谁安装过?在linux系统Asianux server下。 Excel中怎么用键盘不用鼠标切换工作表标签 linux nginx安装后怎么访问 linux nginx需要哪些支持包
Top