導航:首頁 > 程序命令 > 容器啟動後運行命令

容器啟動後運行命令

發布時間: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