中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Docker有什么用

發布時間:2021-11-17 10:35:56 來源:億速云 閱讀:157 作者:小新 欄目:大數據

這篇文章將為大家詳細講解有關Docker有什么用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

1、Docker 簡介

1.1、背景

開發和運維之間因為環境不同而導致的矛盾,集群環境下每臺機器部署相同的應用DevOps(Development and Operations)

1.2、簡介

Docker是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然后發布到任何流行的Linux機器上,也可以實現虛擬化,容器是完全使用沙箱機制,相互之間不會有任何接口。 Docker是世界領先的軟件容器平臺。開發人員利用 Docker 可以消除協作編碼時“在我的機器上可正常工作”的問題。 運維人員利用 Docker 可以在隔離容器中并行運行和管理應用,獲得更好的計算密度。企業利用 Docker 可以構建敏 捷的軟件交付管道,以更快的速度、更高的安全性和可靠的信譽為 Linux 和 Windows Server 應用發布新功能。

1.3、docker優點

簡化程序: Docker 讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然后發布到任何流行的 Linux 機器上,便可以實現虛擬化。Docker改變了虛擬化的方式,使開發者可以直接將自己的成果放入Docker中進行管 理。方便快捷已經是 Docker的最大優勢,過去需要用數天乃至數周的 任務,在Docker容器的處理下,只需要數秒就 能完成。

避免選擇恐懼癥: 如果你有選擇恐懼癥,還是資深患者。Docker 幫你 打包你的糾結!比如 Docker 鏡像;Docker 鏡像中包含了運行環境和配置,所以 Docker 可以簡化部署多種應用實例工作。比如 Web 應用、后臺應用、數據庫 應用、大數據應用比如 Hadoop 集群、消息隊列等等都可以打包成一個鏡像部署。 節省開支: 一方面,云計算時代到來,使開發者不必為了追求效果而配置高額的硬件,Docker 改變了高性能必然高 價格的思維定勢。Docker 與云的結合,讓云空間得到更充分的利用。不僅解決了硬件管理的問題,也改變了虛擬化 的方式。

2、Docker 架構

Docker使用C/S架構,Client通過接口與Server進程通信實現容器的構建,運行和發布,如圖: Docker有什么用

2.1、Host(Docker 宿主機)

安裝了Docker程序,并運行了Docker daemon的主機。

2.2 、Docker daemon(Docker 守護進程):

運行在宿主機上,Docker守護進程,用戶通過Docker client(Docker命令)與Docker daemon交互。

2.3、Images(鏡像):

將軟件環境打包好的模板,用來創建容器的,一個鏡像可以創建多個容器。 鏡像分層結構:

Docker有什么用

位于下層的鏡像稱為父鏡像(Parent Image),最底層的稱為基礎鏡像(Base Image)。 最上層為“可讀寫”層,其下的均為“只讀”層。

AUFS:

  • advanced multi-layered unification filesystem:高級多層統一文件系統

  • 用于為Linux文件系統實現“聯合掛載”

  • AUFS是之前的UnionFS的重新實現

  • Docker最初使用AUFS作為容器文件系統層

  • AUFS的競爭產品是overlayFS,從3.18開始被合并入Linux內核

  • Docker的分層鏡像,除了AUFS,Docker還支持btrfs,devicemapper和vfs等

2.4、Containers(容器):

Docker的運行組件,啟動一個鏡像就是一個容器,容器與容器之間相互隔離,并且互不影響。

2.5、Docker Client(Docker 客戶端)

Docker命令行工具,用戶是用Docker Client與Docker daemon進行通信并返回結果給用戶。也可以使用其他工具通 過Docker Api 與Docker daemon通信。

2.6、Registry(倉庫服務注冊)

經常會和倉庫(Repository)混為一談,實際上Registry上可以有多個倉庫,每個倉庫可以看成是一個用戶,一個用戶 的倉庫放了多個鏡像。倉庫分為了公開倉庫(Public Repository)和私有倉庫(Private Repository),最大的公開倉庫是 官方的Docker Hub,國內也有如阿里云、時速云等,可以給國內用戶提供穩定快速的服務。用戶也可以在本地網絡 內創建一個私有倉庫。當用戶創建了自己的鏡像之后就可以使用 push 命令將它上傳到公有或者私有倉庫,這樣下次 在另外一臺機器上使用這個鏡像時候,只需要從倉庫上 pull 下來就可以了。

3、Docker 安裝

Docker 提供了兩個版本:社區版 (CE) 和企業版 (EE)。

3.1、操作系統要求

以Centos7為例,且Docker 要求操作系統必須為64位,且centos內核版本為3.1及以上。

查看系統內核版本信息:

uname -r

3.2、準備

卸載舊版本:

yum remove docker docker-common docker-selinux docker-engine
yum remove docker-ce

卸載后將保留 /var/lib/docker 的內容(鏡像、容器、存儲卷和網絡等)。

rm -rf /var/lib/docker

1.安裝依賴軟件包

yum install -y yum-utils device-mapper-persistent-data lvm2 #安裝前可查看device-mapper-persistent-data和lvm2是否已經安裝 rpm -qa|grep device-mapper-persistent-data
rpm -qa|grep lvm2

2.設置yum源

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.rep

清華大學開源鏡像站: https://mirrors.tuna.tsinghua.edu.cn/docker-ce/

修改鏡像地址

vim /etc/yum.repos.d/docker-ce.repo

替換開源鏡像站

%s@https://download.docker.com/@https://mirrors.tuna.tsinghua.edu.cn/docker-ce/@

3.更新yum軟件包索引

yum makecache fast

3.3、安裝

安裝最新版本docker-ce

yum install docker-ce -y #安裝指定版本docker-ce可使用以下命令查看
yum list docker-ce.x86_64 --showduplicates | sort -r # 安裝完成之后可以使用命令查看
docker version

3.4、配置鏡像加速

這里使用阿里云的免費鏡像加速服務,也可以使用其他如時速云、網易云等

1.注冊登錄開通阿里云容器鏡像服務

2.查看控制臺,招到鏡像加速并復制自己的加速地址

3.找到/etc/docker目錄下的daemon.json文件,沒有則直接vi daemon.json

4.加入以下配置

#填寫自己的加速地址
{
  "registry-mirrors": [""]
}

5.通知systemd重載此配置文件;

systemctl daemon-reload

6.重啟docker服務

systemctl restart docker

開機啟動 systemctl enbale docker

啟動docker systemctl start docker

4、Docker常用操作

輸入docker可以查看Docker的命令用法,輸入docker COMMAND --help查看指定命令詳細用法。

docker 規定了命令規則,一定要按照新版的命令,因為老版命令將會刪除。具體查看docker COMMAND --help

4.1、鏡像常用操作

1、查找鏡像:

# 搜索docker hub網站鏡像的詳細信息
docker search 關鍵詞

2、下載鏡像:

# Tag表示版本,有些鏡像的版本顯示latest,為最新版本
docker pull 鏡像名:TAG

3、查看鏡像:

# 查看本地所有鏡像
docker images (old)
docker image list (new)

4、刪除鏡像:

docker rmi -f 鏡像ID或者鏡像名:TAG 
# 刪除指定本地鏡像
# -f 表示強制刪除

5、獲取元信息:

# 獲取鏡像的元信息,詳細信息
docker inspect 鏡像ID或者鏡像名:TAG

4.2、容器常用操作

1、運行:

docker run --name 容器名 -i -t -p 主機端口:容器端口 -d -v 主機目錄:容器目錄:ro 鏡像ID或鏡像名:TAG 
# --name 指定容器名,可自定義,不指定自動命名
# -i 以交互模式運行容器
# -t 分配一個偽終端,即命令行,通常-it組合來使用
# -p 指定映射端口,講主機端口映射到容器內的端口
# -d 后臺運行容器
# -v 指定掛載主機目錄到容器目錄,默認為rw讀寫模式,ro表示只讀

2、容器列表:

docker ps -a -q
# docker ps查看正在運行的容器
# -a 查看所有容器(運行中、未運行)
# -q 只查看容器的ID

3、啟動容器:

docker start 容器ID或容器名

4、停止容器:

docker stop 容器ID或容器名

5、刪除容器:

docker rm -f 容器ID或容器名 
# -f 表示強制刪除

6、查看日志:

docker logs 容器ID或容器名

7、進入正在運行容器:

docker exec -it 容器ID或者容器名 /bin/bash
# 進入正在運行的容器并且開啟交互模式終端
# /bin/bash是固有寫法,作用是因為docker后臺必須運行一個進程,否則容器就會退出,在這里表示啟動容器后啟動 bash。
# 也可以用docker exec在運行中的容器執行命令

8、拷貝文件:

 docker cp 主機文件路徑 容器ID或容器名:容器路徑
 #主機中文件拷貝到容器中 docker cp 容器ID或容器名:容器路徑 主機文件路徑
 #容器中文件拷貝到主機中

9、獲取容器元信息:

docker inspect 容器ID或容器名

5、docker 生命周期

Docker有什么用

關于“Docker有什么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

仙游县| 神农架林区| 桐梓县| 大田县| 邛崃市| 墨江| 苗栗县| 东光县| 称多县| 天镇县| 北票市| 兴海县| 宝丰县| 延边| 伊川县| 高雄县| 巴东县| 古交市| 华坪县| 额尔古纳市| 都兰县| 南雄市| 巴里| 纳雍县| 铁岭县| 汉川市| 麟游县| 张北县| 木兰县| 闵行区| 南乐县| 荥阳市| 鞍山市| 连云港市| 五河县| 呈贡县| 鹤壁市| 上栗县| 天祝| 无锡市| 边坝县|