亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問我該如何進入正在運行中的Docker容器?

請問我該如何進入正在運行中的Docker容器?

慕村225694 2019-08-13 15:11:22
如何進入正在運行中的Docker容器
查看完整描述

4 回答

?
森欄

TA貢獻1810條經驗 獲得超5個贊

開始安裝docker之旅:
 ?。踨oot@localhost ~]# uname -r
  2.6.32-431.el6.x86_64
 ?。踨oot@localhost ~]# cat /etc/issue
  CentOS release 6.5 (Final)
  Kernel \r on an \m
  注意其他的源可能導致你的內核和docker的版本不一致,需要升級內核至3.x。
  安裝:
 ?。踨oot@localhost ~]# rpm -ivh
  Retrieving
  warning: /var/tmp/rpm-tmp.JN76fI: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
  Preparing.。。 ########################################### [100%]
  1:epel-release ########################################### [100%]
 ?。踨oot@localhost ~]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
 ?。踨oot@localhost ~]# yum -y install docker-io
  啟動并設置開機自動啟動
 ?。踨oot@localhost ~]# service docker start
  Starting cgconfig service: [確定]
  Starting docker: [確定]
 ?。踨oot@localhost ~]# chkconfig docker on
  獲取cnetos鏡像
  [root@localhost ~]# docker pull centos:latest
  centos:latest: The image you are pulling has been verified
  511136ea3c5a: Pull complete
  5b12ef8fd570: Pull complete
  34943839435d: Downloading [===》 ] 18.38 MB/232.5 MB 1h7m49s
 #官方安裝方式docker pull imagename從docker的索引中心下載,imagename是鏡像名稱,例如docker pull Ubuntu就是下載base ubuntu并且tag是latest。
  我們還可以搜索基于 Fedora 和 Ubuntu 操作系統的容器。
  [root@localhost ~]# docker search ubuntu
 ?。踨oot@localhost ~]# docker search fedora
  查看docker鏡像
  [root@localhost ~]# docker images centos
  REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
  centos latest 34943839435d Less than a second ago 224 MB
  運行docker運行shell
 ?。踨oot@localhost ~]# docker run -i -t centos /bin/bash
  [root@2ce733141ece /]#
 ?。踨oot@2ce733141ece /]#
  [root@2ce733141ece /]#
 ?。踨oot@2ce733141ece /]#
  停止容器
  [root@localhost ~]# docker stop 《CONTAINER ID》
  刪除所有容器
  docker rm $(docker ps -a -q)
  查看docker的子命令,直接敲docker 或完整的docker help 就可以
  常用命令
  總結一下常用命令:
  其中《》闊起來的參數為必選,[]闊起來為可選
  docker version 查看docker的版本號,包括客戶端、服務端、依賴的Go等
  docker info 查看系統(docker)層面信息,包括管理的images, containers數等
  docker search 在docker index中搜索image
  docker pull 從docker registry server 中下拉image
  docker push 推送一個image或repository到registry
  docker push :TAG 同上,指定tag
  docker inspect 查看image或container的底層信息
  docker images TODO filter out the intermediate image layers (intermediate image layers 是什么)
  docker images -a 列出所有的images
  docker ps 默認顯示正在運行中的container
  docker ps -l 顯示最后一次創建的container,包括未運行的
  docker ps -a 顯示所有的container,包括未運行的
  docker logs 查看container的日志,也就是執行命令的一些輸出
  docker rm 刪除一個或多個container
  docker rm `docker ps -a -q` 刪除所有的container
  docker ps -a -q | xargs docker rm 同上, 刪除所有的container
  docker rmi 刪除一個或多個image
  docker start/stop/restart 開啟/停止/重啟container
  docker start -i 啟動一個container并進入交互模式
  docker attach attach一個運行中的container
  docker run 使用image創建container并執行相應命令,然后停止
  docker run -i -t /bin/bash 使用image創建container并進入交互模式, login shell是/bin/bash
  docker run -i -t -p 將container的端口映射到宿主機的端口
  docker commit [repo:tag] 將一個container固化為一個新的image,后面的repo:tag可選
  docker build
  尋找path路徑下名為的Dockerfile的配置文件,使用此配置生成新的image
  docker build -t repo[:tag] 同上,可以指定repo和可選的tag
  docker build - 使用指定的dockerfile配置文件,docker以stdin方式獲取內容,使用此配置生成新的image
  docker port 查看本地哪個端口映射到container的指定端口,其實用docker ps 也可以看到。
  上面就是CentOS6.5安裝Docker的方法介紹了,在安裝Docker的時候,需要升級內核至3.x,以免版本不一樣,本文除了介紹Docker的安裝,還介紹了其常用的命令,希望對你有所幫助。
,



查看完整回答
反對 回復 2019-08-24
?
繁華開滿天機

TA貢獻1816條經驗 獲得超4個贊

官方鏡像下的簡單示例 本節中,將創建一個 Container 來運行 Docker 的官方 Registry 鏡像。你將推送(Push)一個鏡像到這個 Registry 服務器,然后再從該 Registry 中拉取(Pull)同一個鏡像。 這是個很好的練習,有助于理解客戶端與本地 Regis

查看完整回答
反對 回復 2019-08-24
?
Cats萌萌

TA貢獻1805條經驗 獲得超9個贊

避免Docker容器啟動腳本運行后自動退出的解決法dockerrun指定的命令如果不是那些一直掛起的命令(比如運行top,不斷echo),就是會自動退出的。-d命令是設置detach為true,根據官方的文檔,意思是讓這個命令在后臺運行,但并不是一直運行(我們在一個正常的LinuxTerminal中運行/bin/bash,運行完了也就完了,不會一直掛著等待響應的,所以確實沒法用daemon方式來跑/bin/bash)。這個地方官方早期和現在的文檔也確實有些前后不一致,現在是detach,早期的文檔說指定-d以daemon方式來運行容器,可能存在一定的誤解。另外,如果你需要跑容器里的bash,直接運行dockerrun-i-tCONTAINER_NAME/bin/bash就可以了,如果覺得參數比dockerattach多,可以設置一個別名(alias)來解決:aliasdockerbash='dockerrun-i-tCONTAINER_ID/bin/bash'設置好別名后,直接運行dockerbash就可以進入容器的bash了

查看完整回答
反對 回復 2019-08-24
?
浮云間

TA貢獻1829條經驗 獲得超4個贊

  不推薦更改運行中的容器配置,容器本身是無狀態的,當然也可以通過進入容器內部的方式進行更改:
  docker exec -it <容器id> </bin/bash|/bin/sh>

  這樣的更改是無法持久化保存的,當容器重啟后,更改就丟失了,正確的做法是將需要持久化保存的數據放在掛載的存儲卷中,當配置需要改變時直接刪除重建。

查看完整回答
反對 回復 2019-08-24
  • 4 回答
  • 0 關注
  • 1275 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號