工程實踐 docker基礎詳解及常用命令

2021-10-07 11:31:07 字數 2793 閱讀 5630

docker 是乙個開源的應用容器引擎,基於go語言並遵從 apache2.0 協議開源。

docker 可以讓開發者打包他們的應用以及依賴包到乙個輕量級、可移植的容器中,然後發布到任何流行的 linux 機器上,也可以實現虛擬化。

docker 包括三個基本概念:

docker 容器通過 docker 映象來建立。

容器與映象的關係類似於物件導向程式設計中的物件與類。

可以從官網上進行安裝:

docker官網

docker 客戶端非常簡單 ,我們可以直接輸入 docker 命令來檢視到 docker 客戶端的所有命令選項。也可以通過命令 docker command --help 更深入的了解指定的 docker 命令使用方法。

docker
如果我們本地沒有我們想要的映象,我們可以使用 docker pull 命令來載入映象:

docker pull 映象
以下命令使用 ubuntu 映象啟動乙個容器,引數為以命令列模式進入該容器:

docker run -it 映象 /bin/bash
引數解釋:

我們可以通過 《倉庫名》:《標籤》 的格式來指定具體是這個軟體哪個版本的映象。如果不給出標籤,將以 latest 作為預設標籤。

要退出終端,直接輸入 exit或者 ctrl+d。

檢視所有的容器的命令如下:

docker ps -a
我們也可以用docker ps命令檢視正在執行的容器。

docker ps
各個引數解釋:

我們可以使用 docker start 啟動乙個已停止的容器:

docker start 容器
我們可以過 -d 指定容器的執行模式:

docker run -itd --name 指定建立的容器名 容器 /bin/bash
加了 -d 引數預設不會進入容器,想要進入容器需要使用下面的指令進入容器:

docker attach 容器  //如果從這個容器退出,會導致容器的停止。
docker exec -it 容器 /bin/bash   //如果從這個容器退出,不會導致容器的停止。
停止容器的命令如下:

docker stop 容器id
停止的容器重啟:

docker restart 容器id
如果要匯出本地某個容器,可以使用 docker export 命令。

docker export 容器id > 名稱.tar
可以使用 docker import 從容器快照檔案中再匯入為映象:

cat docker/名稱.tar | docker import - 想要命名的容器:想要命名的tag
docker rm -f 容器id
我們可以使用 docker images 來列出本地主機上的映象。

docker images
各個引數解釋:

docker search 映象
各個引數解釋:

docker rmi 映象
在啟動docker映象後,寫入一些檔案、**、更新軟體等等操作後,退出docker映象,之後在終端輸入如下命令:

docker commit -m=

"..." -a=

"..." 容器id 指定要建立的目標映象名稱

引數解釋:

接著可以用docker images檢視映象是否更新成功。(注意:不要建立名稱已存在的映象,這樣會使存在的映象名稱為none,從而無法使用)

更改映象名稱(repository):

docker tag 容器id 新名稱
更改映象tag,不修改名稱:

docker tag imageid(映象id) repository:tag(倉庫:標籤)
主機和容器之間傳輸檔案的話需要用到容器的id全稱。

從本地傳輸到容器中:

docker cp 本地檔案路徑 容器name:/root/(容器路徑)
從容器傳輸到本地上:

docker cp 容器name:/root/(容器路徑) 本地檔案路徑
docker可以支援把乙個宿主機上的目錄掛載到映象的目錄中。

在啟動docker映象時,輸入如下命令:

docker run -it -v /宿主機絕對路徑:/映象內掛載絕對路徑 容器repository /bin/bash
通過-v引數,冒號前為宿主機目錄,冒號後為映象內掛載的路徑,必須為絕對路徑。

如果宿主機目錄不存在,則會自動生成,映象裡也是同理。

預設掛載的路徑許可權為讀寫。如果指定為唯讀可以用:ro

docker run -it -v /宿主機絕對路徑:/映象內掛載絕對路徑:ro 容器repository /bin/bash

Docker入門及實踐

docker是軟體容器平台 倉庫是集中存放映象檔案的場所 倉庫註冊伺服器存放多個倉庫,倉庫又包含多個映象,每個映象有不同的標籤。倉庫分為公開倉庫和私有倉庫,例如docker hub docker為什麼比虛擬機器快 docer有著比虛擬機器更少的抽象層,不需要實現硬體資源虛擬化,直接使用實際物理機的硬...

docker 常用命令及實踐

yum update sudo yum config manager add repo 安裝docker sudo yum install docker ce docker ce cli containerd.io 啟動docker sudo systemctl start docker 停止doc...

Docker實踐(一) MySQL 的安裝及配置

本文基於官方映象執行mysql容器,通過自定義配置檔案指定資料存放路徑 日誌存放路徑等mysql配置。在執行容器時,通過將宿主機目錄掛在到容器目錄確保容器損壞情況下資料不會丟失。docker pull mysql 5.7啟動mysql映象時,可以通過 docker run 命令列傳遞乙個或多個變數來...