首页 > 其他分享 >docker进入容器运行命令

docker进入容器运行命令

时间:2024-09-13 09:24:54浏览次数:11  
标签:容器 shell 命令 bash docker 运行

Docker容器的基本操作

在深入讨论如何进入容器并运行命令之前,让我们先回顾一下Docker容器的一些基本操作:

  1. 列出容器:使用docker ps命令列出当前正在运行的容器。如果你还想看到已经停止的容器,可以添加-a--all选项。

  2. 启动容器:使用docker start命令加上容器ID或名称来启动一个已停止的容器。

  3. 停止容器:使用docker stop命令加上容器ID或名称来停止一个正在运行的容器。

  4. 删除容器:使用docker rm命令加上容器ID或名称来删除一个已停止的容器。

进入Docker容器

进入Docker容器并运行命令是Docker用户经常需要执行的操作之一。这可以通过几种不同的方式完成,每种方式都有其特定的用途和场景。

1. 使用docker exec命令

docker exec命令是在运行中的容器内执行命令的最常用方法。这个命令不会启动一个新的shell,而是直接在容器内执行指定的命令。

基本语法

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]


示例

  • 在名为my_container的容器内执行bash命令(如果容器内有bash):

    docker exec -it my_container bash


    这里,-it选项将分配一个伪终端(-t)并与容器的标准输入(STDIN)连接(-i),这样你就可以与bash shell进行交互了。


     
2. 使用docker attach命令

虽然docker attach命令也可以用来连接到正在运行的容器,但它主要用于查看容器的标准输出(STDOUT)和标准错误输出(STDERR),或者向容器发送输入(STDIN)。然而,它并不适合执行新的命令,因为它会附加到容器的当前shell或进程上。

基本语法

docker attach [OPTIONS] CONTAINER

注意:如果你使用docker attach连接到容器,并且容器中没有正在运行的前台进程(比如bash shell),那么docker attach可能会立即退出,因为它没有可以附加的进程。

3. 使用docker run命令(以交互模式)

虽然docker run命令主要用于创建并启动新的容器,但你可以通过添加-it选项以交互模式运行容器,并在容器内启动一个shell。这实际上是在容器启动时立即进入容器。

基本语法

docker run -it [OPTIONS] IMAGE [COMMAND] [ARG...]

示例

  • 以交互模式运行Ubuntu镜像,并在容器内启动bash shell:
    docker run -it ubuntu bash

注意事项

  • 安全性:进入容器并运行命令时,请确保你信任容器内的软件,特别是当你以root用户身份执行命令时。
  • 环境变量:在容器内运行的命令可能会受到容器环境变量的影响。你可以使用docker exec命令的--env选项来设置或覆盖环境变量。
  • 持久性:在容器内所做的更改(如安装软件包、修改文件等)在容器停止并删除后通常会丢失,除非这些更改被保存在卷(volume)或绑定挂载(bind mount)中。

标签:容器,shell,命令,bash,docker,运行
From: https://blog.csdn.net/weixin_45710581/article/details/142201365

相关文章

  • Linux 运维三剑客:grep、sed 和 awk 实战案例与命令参数详解
    在Linux运维中,grep、sed和awk是三个非常强大的文本处理工具,它们在处理文本数据时发挥着重要作用。本文将通过一些实战案例,展示这三个工具的使用方法和强大功能,并对它们的命令参数进行详解。grep:文本搜索利器grep是一个强大的文本搜索工具,它使用正则表达式来匹配文本......
  • Docker网络
    Docker网络是Docker容器间以及容器与宿主机之前通信的基础,它提供了一套灵活的网络配置方案,允许用户自定义网络拓扑,从而满足不同应用场景的需求。一、Docker网络基础Docker提供了多种网络模式,每种模式有不同的网络隔离和连接方式,主要包括:1、Bridge(桥接模式,默认,常用)为每个容器......
  • C++读取命令行参数的学习(BOOST库)
    在c++工程中,经常需要通过命令行参数来获取程序运行所需要的信息。作者在实际工作中学习了Boost库,这里根据作者的理解,写了一个依托boost库完成命令行参数提取的程序模版,请大佬批评!!#defineOK0#defineExit-99//主程序#include<iostream>#include"XApp.h"intmain(int......
  • Linxu 运行级别及命令
    linux系统运行级别:运行级别含义0关机1单用户模式,主要用于系统修复2不完整的命令行模式,不含NFS服务3完全的命令行模式,标准字符界面4系统保留5图形模式6重启运行级别命令:1、runlevel:显示前一个运行级别到当前运行级别root@localhost~]#runlevelN3·2、init+运行级别......
  • 【 Linux】基础命令及常用小技巧
    文章目录Linux基础命令常用小技巧基本命令pwd:printworkdirectory打印当前的工作目录cd:changedriectory改变当前工作目录ls:list查看指定目录下的文件mkdir:makedirectory创建目录文件操作命令查找命令管道命令和过滤命令wc:wordcount单词统计echo......
  • 宝藏级Docker应用推荐(建议NAS/AllinOne用户收藏)
    梳理收集了个人比较常用的Docker应用,这些应用大多免费开源,能极大提高的提高日常工作效率,也能充分榨干家里闲置设备资源,比如NAS、个人PC、主机服务器等。一、家庭娱乐中心类家庭影音、漫画、小说等1、影视类Jellyfin、Emby(个人可以不开通专业版,免费版够用)推荐原因:看电影......
  • 2.10 某容器内侧是由曲线x^2+y^2=4y(1<=y<=3)与x^2+y^2=4(y<=1)绕y轴旋转一周而形成的曲
    点击查看代码fromscipy.integrateimportquadimportnumpyasnp#第一部分:抛物线旋转体(修正后)defV1_quad(y):returnnp.pi*(4*y-y**2)V1_corrected,_=quad(V1_quad,1,3)#第二部分保持不变V2=0.5*(4/3)*np.pi*2**3-(1......
  • 某智能网关 list_service_manage存在命令执行漏洞
    漏洞描述瑞斯康达多业务智能网关list_service_manage.php存在未授权命令注入漏洞,攻击者利用可获取服务器权限。资产信息FOFA:body="/images/raisecom/back.gif"漏洞复现pocPOST/vpn/list_service_manage.php?template=%60whoami%3E%2Fwww%2Ftmp%2F1.txt%60HTTP/1.1H......
  • 让小爱音箱播放电脑/NAS上歌曲,支持自动从哔哩哔哩/油管下载歌曲,无需刷机。支持语音控
    小米AI音箱很多人都有,但使用中播放歌曲时总是提示仅能播放试听版,不能完整听歌,很烦人。今天介绍的方法就是要彻底解决这个问题,实现让小爱AI音箱能够播放本地歌曲,本地没有的歌曲还能自动从网上搜索下载的功能。已测试支持的设备:型号名称L06A小爱音箱L07ARedmi小爱音......
  • 2024年9月12日(k8s环境及测试 常用命令)
    一、环境准备及测试1、报错处理:kube-systemcalico-node-5wvln0/1Init:0/3016hkube-systemcalico-node-d7xfb0/1Init:0/3016hkube-system......