如何進入docker容器


** docker run [可以加參數必須在鏡像前] 鏡像名稱 /bin/bash "執行的命令"**

** 建議運行一個容器使用 --name 使用名稱 **

** 因為管理容器的時候只有name 和 ID 是比較方便的而且是唯一標識 **

** docker run --name mydocker -t -i(標准輸入) 鏡像name /bin/bash "[可以是命令]"**

---不建議使用這種方式,退出后容器就停止了

方式一

** 內置命令 attach **

** 起來后怎么進去 bin/bash (進不去)一個容器干一件事,這是docker的設計理念**

** docker attach mydocker 可以實現進入容器**

-----此方法不太穩妥不建議

方式二

** 使用 nsenter **

首先需要安裝工具

這里以centos7為例下載 util-linux

yum install -y util-linux

這種方法是根據pid來進入容器

** 需要知道第一個進行的pid **

** 獲取pid方式 固定格式**

docker inspect -f "{{.State.Pid}}" mydocker或者ID

然后使用nsenter

** nsenter -p (pid) **

** 使用 **

nsenter -t pid號 -m -u -i -n -p

如圖所示

這樣一步一步操作有點麻煩我們可以寫一個腳本進行調用

示例:

腳本

 #!/bin/bash
 docker_in(){
	name_ID=$1
	PID=$(docker inspect -f "{{.State.Pid}}" $1)
	nsenter -t $PID -m -u -i -n -p
 }
 docker_in $1

然后就以是使用

docker_in 跟上容器name或者ID

----強烈建議使用該方式,適用於生產環境

方式三
docker exec mydocker whoami

只為了看看命令

** docker exec -it mydocker /bin/bash**
---不推薦使用,如果只是想要看一個命令 可以使用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM