docker常用配置以及命令

1. Docker基本概念

docker常用配置以及命令

文章插圖
1.1 什么是 docker hubDockHub是一個倉庫https://hub.docker.com/
倉庫是集中存放鏡像文件的場所倉庫分為公開倉庫(Public)和私有倉庫(Private)兩種形式 。
  • docker拉取命令docker pull centos
  • docker 查看鏡像docker images
1.2 什么是docker鏡像?Docker鏡像是一個特殊的文件系統 除了運行時所需要的程序,庫 資源 配置等文件意外,還包含了一些運行時的準備的的一些配置參數(如匿名卷、環境變量、用戶等).鏡像不包含任何動態數據、其內容在構建之后也不會被改變 。
docker常用配置以及命令

文章插圖
共享一個base鏡像 但是base鏡像不會被修改只會修改單個容器內這個用到了docker特性
docker常用配置以及命令

文章插圖
每當一個鏡像被創建 就會創建一個可寫層在上方這個可寫層又被稱為容器層 容器層的下方統一叫鏡像層
使用centos鏡像創建一個容器
sudo docker run --name centos_test -it centos /bin/bash
1.3 什么是容器容器是一種輕量級 , 可移植,自包含的軟件打包技術 ,是一種應用程序,可以在九乎任何地方以相同的方式運行 。開發人員在自己筆記本上創建并測試好的容器,無需任何修改就能夠在生產系統的虛擬機 , 物理服務器或公有云主機上運行 。
那為什么需要容器 以及為什么被稱為容器?
docker常用配置以及命令

文章插圖
1.4 docker容器的優勢容器的優勢 ,對于開發人員來說,創建一次 , 可以在任何地方運行,對于運維人員來說,配置一次,可以運行所有應用
1.5 docker容器是如何工作的docker的核心組件包括:docker客戶端,docker服務器 , docker鏡像 , registry,docker容器
1.6 docker客戶端在Linux系統下,Docker Client 和Docker daemon和容器直接運行在宿主機上 , 這意味著容器可直接使用宿主機端口資源,不需要在容器和宿主機之間映射端口 。
docker常用配置以及命令

文章插圖
在Windows或Max X系統下,Docker服務運行在Linux虛擬機里,Dockerclient運行在宿主機下跟Docker服務通信 。,當運行容器里,它用的端口資源是虛擬機里的,必須跟宿主機上的端口映射 。
docker常用配置以及命令

文章插圖
6.1.7 docker 服務Docker 服務是Docker最核心的后臺進程,它負責響應來自Docker client的請求,然后將這些請求翻譯成系統調用完成容器管理操作 。該進程會在后臺啟動一個API Server負責接收由Docker client發送的請求;接收到的請求將通過Docker 服務內部的一個路由分發調度 , 再由具體的西數來執行請求 。
2. docker 命令容器運行$ docker run -it centos /bin/shdocker 客戶端使用docker命令來運行 run參數 表明客戶端要運行一個新的容器.docker客戶端要運行一個容器需要告訴 docker守護進程的最小參數是:
  1. 這個容器從哪個鏡像中創建.這是centos,基礎的centos鏡像
  2. 在容器中要運行的命令,這里是/bin/bash 在容器中運行bash shell
那么運行這個命令在底層發生了什么?按照順序
  1. 拉取鏡像 檢查是否存在 如果沒有會在docker pub中下載.如果已存在 創建新的容器
  2. 創建新的容器,當docker 有了這個鏡像之后,docker 會用他創建一個新的容器.
  3. 分配文件按系統 并且掛載一個可讀寫的曾,容器會在這個文件系統中創建.并且一個可讀寫的曾被添加到鏡像中,
  4. 分配網絡/橋接接口,創建一個運行容器與本地主機通信的網絡接口.
  5. 設置一個ip地址:從池中尋找一個可用的ip并且附加到容器中
  6. 運行你指定的程序 運行該程序
  7. 鋪貨并且提供應用輸出: 鏈接并且記錄標準輸出,輸入和錯誤,讓你可以看到你的程序如何運行的
查看所有運行 的容器docker ps -a停止 dockerdocker stop id
docker常用配置以及命令

文章插圖
殺死進程【docker常用配置以及命令】docker kill id進入容器內部docker attach id
docker常用配置以及命令

文章插圖
通過 docker exec -it + 短id 進入容器內部docker exec -it + 短id

推薦閱讀