docker簡單介紹 映象和容器管理

2022-06-25 06:30:13 字數 4196 閱讀 3427

docker可以分為三部分:docker映象   docker倉庫  docker容器

docker容器:容器是從image中建立的,可以執行啟動、開始、停止、刪除等操作,可以理解為image建立的乙個虛擬機器

開始正題:

docker安裝:centos 7   ------------yum -y install docker-io

檢視docker目前有哪些映象:

docker images

檢視docker庫中有哪些images

docker search  「images-name」  例如: docker search centos7

我們看到下圖出現很多引數,其中包括image的名字、描述、stars(受歡迎程度) 是否為官方建立  是否為自動建立等

docker official images指docker標準庫, 由docker 官方建立. 使用者建立的image則會有userid的prefix. 

automated builds 則是通過**版本管理**結合docker hub提供的介面生成的, 例如github, bitbucket, 

你需要註冊docker hub, 然後使用github或bitbucket的在賬戶鏈結到docker hub, 然後就可以選擇在github或bitbucket裡面的專案自動build docker image, 這樣的話只要**版本管理**的專案有更新, 就會觸發自動建立image.

拉取映象

啟動容器並進入到容器中

docker run -it /bin/bash    #也可以新增-d引數後台執行

假如容器在後台執行,這個時候就需要進入到該容器進行操作

1. docker attach 容器id

不常用:但在,使用該命令有乙個問題。當多個視窗同時使用該命令進入該容器時,所有的視窗都會同步顯示。如果有乙個視窗阻塞了,那麼其他視窗也無法再進行操作。

2.容器中安裝sshd進行遠端

不常用:為了保證安全性,不建議開啟sshd服務

3.使用nsenter進行遠端(預設已經安裝,如果沒有可以手動安裝)

docker inspect -f '}' 容器id

nsenter --target 容器pid --mount --uts --ipc --net --pid

例如:

4.使用 exec進入docker容器

docker exec -it 容器id  /bin/bash

(1) docker commit來生成新映象

引數詳解:

舉例說明:

docker commit -a "guohaidong" -m "vsftpd" f8315ebb750b vsftpd:v1

使用dockerfile建立新映象

指令的一般格式為instrunction arguments,指令包括from、maintainer、run等。具體指令及說明如下:

指令說明

from

指定所建立映象的基礎映象

maintainer

指定維護者資訊

run執行命令

cmd指定啟動容器時預設執行的命令

label

指定生成映象的元資料標籤資訊

expose

宣告映象內服務所監聽的埠

env指定環境變數

add賦值指定的路徑下的內容到容器中的路徑下,可以為url;如果為tar檔案,會自動解壓到路徑下

copy

賦值本地主機的路徑下的內容到容器中的路徑下;一般情況下推薦使用copy而不是add

entrypoint

指定映象的預設入口

volume

建立資料掛載點

user

指定執行容器時的使用者名稱或uid

workdir

配置工作目錄

arg指定映象內使用的引數(例如版本號資訊等)

onbuild

配置當前所建立的映象作為其他映象的基礎映象時,所執行的建立操作的命令

stopsignal

容器退出的訊號

healthcheck

如何進行健康檢查

shell

指定使用shell時的預設shell型別

dockerfile檔案格式

最簡單的案例:

在linux系統中的某個路徑新建乙個檔案為dockerfile檔案

vim dockerfile

from docker.io/centos

maintainer guo haidong <[email protected]>

run yum -y install mariadb

然後使用docker build -t contos/mariadb:v1 -f /data/docker/dockerfile .      #來生成新的映象# 「.」預設是指dockerfile是在當前路徑,也可以使用-f引數來指定dockerfile路徑

-t 指定映象名稱和tag

-f 指定dcokerfile檔案的path 

#*******搭建私有docker倉庫,上傳映象到倉庫,後面介紹

刪除映象

docker rmi  映象id

刪除映象前必須刪除容器

docker rm -f 容器id

檢視容器id方法:

docker ps

***********************************

終端執行乙個nginx容器,如果沒有nginx映象會自動從docker倉庫中pull下來

docker run --name nginx -it nginx /bin/bash

檢視容器的pid

docker inspect -f '}' 容器id

使用nsenter配合容器pid來進入到容器裡

nsenter --target 容器pid --mount --uts --ipc --net --pid

命令總結:

顯像管理

docker search  搜尋映象

docker pull  獲取映象

docker images  檢視映象

docker rmi   刪除映象

docker commit命令或者編寫dockerfile檔案  生成新映象

容器管理

docker run --name -h hostname   啟動容器

docker stop|start|restart 容器id        停止|啟動|重啟    容器

docker run --restart=always --name hostname -d 容器id或者容器名稱  自動重啟容器(當容器由於某種錯誤導致容器停止就會觸發restart訊號)

docker ps -l               檢視最後乙個退出容器

docker ps -n number        顯示最後幾個容器

docker top  容器id或者容器名稱         檢視當前執行的程序

docker logs -f  容器id或者容器名稱     實時檢視當前容器日誌輸出

docker attach | 容器ssh |使用nsenter |使用exec   進入容器     #這裡推薦使用後倆種,

*****docker inspect 容器名稱或者容器id    顯示容器的詳細資訊

*****docker inspect --format '}'   容器名稱或者容器id

docker映象和容器

伺服器安裝docker,請網上查詢 windows安裝docker可參考 1.1 docker search fastdfs 在網上搜尋映象資源 1.2 拉取映象並檢視狀態 docker image pull delron fastdfs 拉取映象到本地 docker images 檢視本地映象 d...

Docker映象 容器 倉庫的介紹

docker映象 因為docker本身包含的知識點很多,網上太多的介紹文件了,這裡我就簡單概述一下。通俗的理解映象 docker的映象是乙個唯讀的模板,乙個獨立的檔案系統,包括執行容器所需的資料,可以用來建立新的容器。docker的映象相當於iso作業系統的安裝包,iso映象的內容是固定的,不會發生...

docker映象 容器簡單操作命令

1.docker概述 docker是一種容器技術,解決軟體跨環境遷移的問題。我們寫 的時候通常會有多個環境,比如開發環境,測試環境以及生產環境。在產品的開發過程中經常會遇到一些在開發環境上沒有問題,而到測試環境或者生產環境就有問題的情況。這時候docker就能很好的解決問題,他將應用程式以及應用程式...