Docker系列之Docker容器(讀書筆記)

1、介紹

  容器是獨立運行的一個或一組應用,以及它們的運行態環境。對應的,虛擬機能夠理解爲模擬運行的一整套操做系統和排在上面的應用。docker

2、容器

  2.1 啓動容器

  啓動容器有兩種方式,一種是基於鏡像新建一個容器並啓動,另外一個是將終止狀態的容器從新啓動。ubuntu

  新建並啓動:所需命令主要爲 docker run。例以下面啓動後輸出一個「Hello World」,以後終止容器。bash

root@VM-0-15-ubuntu:~# docker run myimage /bin/echo 'Hello World!' Hello World!

這跟本地直接執行/bin/echo 'hello world' 幾乎感受不到任何區別。網絡

  下面的命令則啓動一個bash終端,容許用戶進行交互。其中 -t 選項讓Docker分配一個僞終端並綁定到容器的標準輸入上,-i  則讓容器的標準輸入保持打開。使用exit退出終端。工具

  當利用 docker run來建立容器時,Docker在後臺容許的標準操做包括:spa

  1. 檢查本地是否存在指定的鏡像,不存在就從公有倉庫下載
  2. 醫用鏡像建立並啓動一個容器
  3. 分配一個文件系統,並在只讀的鏡像層外面掛在一層可讀寫層
  4. 從宿主主機配置的網絡接口中橋接一個虛擬接口到容器中去
  5. 從地址池配置一個ip地址給容器
  6. 執行用戶指定的應用程序
  7. 執行完畢後容器被終止

   啓動已終止容器:docker start 命令,直接將一個已終止的容器啓動運行。
操作系統

   2.2 查看容器3d

docker ps // 查看全部正在運行容器 docker stop containerId // containerId 是容器的ID docker ps -a // 查看全部容器 docker ps -a -q // 查看全部容器ID

  2.3 終止容器

docker stop 加容器ID //終止容器
docker stop $(docker ps -a -q) // stop中止全部容器

  2.4 守護態運行

  更多時候,須要讓Docker容器在後臺以守護態形式運行。此時,能夠經過添加 -d 參數來實現。如code

root@VM-0-15-ubuntu:~# docker run -d myimage 755c54ec56e25c19295b08a86aef8b2a1a65753d62b80b50dce65ca96b719403

容器啓動會返回一個惟一的id。blog

   2.5 進入容器

  在使用 -d 參數時,容器啓動後會進入後臺。某些時候須要進入容器進行操做,有不少種方法,包括使用 docker attach命令或 nsenter工具等。如:

root@VM-0-15-ubuntu:~# docker run -idt myimage //根據鏡像建立容器 65763bc0fb47a05fe98529b5187588080f659f579e4c6c3e8044aca5c215a06a root@VM-0-15-ubuntu:~# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 65763bc0fb47 myimage "/bin/bash"         42 seconds ago      Up 42 seconds nostalgic_mccarthy 755c54ec56e2 myimage "/bin/bash"         6 minutes ago       Exited (0) 6 minutes ago kickass_engelbart 5c05efb733f5 myimage "/bin/bash"         20 minutes ago      Exited (0) 19 minutes ago sharp_varahamihira root@VM-0-15-ubuntu:~# docker attach nostalgic_mccarthy

  2.6 刪除容器

  使用 docker rm 來刪除一個處於終止狀態的容器,若是刪除運行中的容器,能夠添加 -f 參數。

  docker rm $(docker ps -a -q) // remove刪除全部容器。

相關文章
相關標籤/搜索