👍容器深入交互,就是这三个命令!

  1. docker attch 连接容器的标准输入/输出流
  2. docker exec在运行的容器内执行命令
  3. docker cp在容器与主机间复制文件或目录

在Docker容器的日常管理与运维中,与容器进行交互、执行命令以及进行数据交换是至关重要的操作。本文将介绍docker attachdocker execdocker cp这三个命令,它们分别提供了连接到容器的标准输入/输出流、在容器内执行命令以及在容器与主机之间复制文件的功能,极大地丰富了对容器的操作手段,提升了容器管理的灵活性与效率。

1. docker attch 连接容器的标准输入/输出流

docker attach命令允许用户直接连接到正在运行的容器的标准输入(stdin)、标准输出(stdout)和标准错误(stderr)流,实现与容器内进程的实时交互。一旦连接,用户在终端上的输入将传递给容器内的进程,同时容器内进程的输出也会实时显示在用户的终端上。

运行docker run -it debian /bin/bash启动一个shell

➜  ~ docker run -it debian /bin/bash
root@0a1ad8ed38ee:/#

新打开一个终端docker attach 0a1ad会进入刚刚运行的debian容器中

➜  ~ docker attach 0a1ad
root@0a1ad8ed38ee:/#

不推荐使用,docker attach进入容器当打开多个窗口,一个窗口执行命令,多个窗口的同步执行的。推荐新方式docker exec

2. docker exec在运行的容器内执行命令

docker exec命令允许用户在已经运行的容器内部执行任意命令或脚本,无需直接连接到容器的标准输入/输出流。执行结果(包括输出和返回码)将直接返回到执行命令的主机终端。

docker exec [OPTIONS] <container_name_or_id> COMMAND [ARG...]

参数选项

  • -it:启用交互式终端,适用于执行需要用户输入或提供实时输出的命令。
  • -u <user>:以指定用户身份执行命令。
  • -w <working_dir>:在指定的工作目录下执行命令。
➜  ~ docker exec hello-go ls
Dockerfile
Dockerfile-builder
README.md
app
go.mod
go.sum
http-client.env.json
http.http
main.go

在容器内执行命令,例子中执行ls,默认在工作目录执行。

➜  ~ docker exec -it hello-go sh
/app # pwd
/app

添加-it参数,可以进入容器内的shell。

➜  ~ docker exec -it -u root hello-go sh
/app # whoami
root

添加-u可以为执行的命令设置由哪个用户执行。例子中使用了root,使用命令whoami可以查看当前执行shell的用户为root。

3. docker cp在容器与主机间复制文件或目录

docker cp命令用于在Docker容器与主机之间双向复制文件或目录,便于数据交换与备份。

docker cp [OPTIONS] SRC_PATH CONTAINER:DEST_PATH
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH

拷贝容器文件到宿主机

➜  ~ docker cp hello-go:/app/README.md ./README.md
Successfully copied 2.05kB to /root/README.md
➜  ~ ls -l
-rw-r--r--  1 root root     182 Apr 12 04:45 README.md

通过docker cp hello-go:/app/README.md ./README.md,从hello-go容器的工作目录下,拷贝README.md到宿主机当前目录。

➜  ~ echo "Hello Wolrd" > README.md
➜  ~ cat  README.md
Hello Wolrd
➜  ~ ls -l
total 15044
-rw-r--r--  1 root root      12 Apr 13 03:02 README.md

README.md中输出Hello World,可以看到cat输出内容已经发生改变,文件大小也发生了变化。

拷贝宿主机文件到容器

➜  ~  docker cp ./README.md hello-go:/app/README.md
Successfully copied 2.05kB to hello-go:/app/README.md

Successfully 表示成功将宿主机下的README.md拷贝到容器/app/README.md

➜  ~ docker exec hello-go cat README.md
Hello Wolrd

使用docker exec运行cat打印一下README.md,可以看到输出内容和执行echo "Hello Wolrd" > README.md后的README.md结果是一致。

docker attachdocker execdocker cp命令分别提供了连接容器标准输入/输出流、在容器内执行命令以及在容器与主机之间复制文件的功能,为Docker容器的交互、管理与数据交换提供了强大的支持。熟练掌握这三个命令,将极大提升容器操作的便利性与工作效率,助力于容器化环境的高效运维与开发。

忍不住要加个关注!不是我吹,但你会后悔没关注的!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,204评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,091评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,548评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,657评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,689评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,554评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,302评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,216评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,661评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,851评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,977评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,697评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,306评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,898评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,019评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,138评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,927评论 2 355

推荐阅读更多精彩内容