002、Docker 基礎(chǔ)【與云原生的故事】
docker基本概念
一、解決的問題
1、統(tǒng)一標準
應(yīng)用構(gòu)建
一、解決的問題
1、統(tǒng)一標準
應(yīng)用構(gòu)建
Java、C++、JavaScript
打成軟件包
.exe
docker build .... 鏡像
應(yīng)用分享
所有軟件的鏡像放到一個指定地方 docker hub
安卓,應(yīng)用市場
應(yīng)用運行
統(tǒng)一標準的 鏡像
docker run
容器化
2、資源隔離
cpu、memory資源隔離與限制
訪問設(shè)備隔離與限制
網(wǎng)絡(luò)隔離與限制
用戶、用戶組隔離限制
二、架構(gòu)
虛擬化技術(shù):
1、基礎(chǔ)鏡像GB級別
2、創(chuàng)建使用稍微復(fù)雜
3、隔離性強
4、啟動速度慢
5、移植與分享不方便
容器化技術(shù):
1、基礎(chǔ)鏡像MB級別
2、創(chuàng)建簡單
3、隔離性強
4、啟動速度秒級
5、移植與分享方便
Docker_Host:
安裝Docker的主機
Docker Daemon:
運行在Docker主機上的Docker后臺進程
Client:
操作Docker主機的客戶端(命令行、UI等)
Registry:
鏡像倉庫
Docker Hub
Images:
鏡像,帶環(huán)境打包好的程序,可以直接啟動運行
Containers:
容器,由鏡像啟動起來正在運行中的程序
交互邏輯
裝好Docker,然后去 軟件市場 尋找鏡像,下載并運行,查看容器狀態(tài)日志等排錯
3、安裝
1、centos下安裝docker
其他系統(tǒng)參照如下文檔
https://docs.docker.com/engine/install/centos/
1、移除以前docker相關(guān)包
[root@master0-server ~]# yum remove docker \ > docker-client \ > docket-client-latest \ > docker-common \ > docker-latest \ > docker-latest-logrotate \ > docker-logrotate \ > docker-engine No match for argument: docker No match for argument: docker-client No match for argument: docket-client-latest No match for argument: docker-common No match for argument: docker-latest No match for argument: docker-latest-logrotate No match for argument: docker-logrotate No match for argument: docker-engine No packages marked for removal. Dependencies resolved. Nothing to do. Complete! [root@master0-server ~]#
2、配置yum源
sudo yum install -y yum-utils sudo yum-config-manager \ --add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
[root@master1-server ~]# yum-config-manager \ > --add-repo \ > http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo Invalid configuration value: failovermethod=priority in /etc/yum.repos.d/CentOS-Epel.repo; Configuration: OptionBinding with id "failovermethod" does not exist Adding repo from: http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo [root@master1-server ~]#
解決辦法
將?/etc/yum.repos.d/CentOS-Epel.repo?文件中?failovermethod=priority?注釋掉。
[root@master1-server ~]# yum-config-manager \ > --add-repo \ > http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo Adding repo from: http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo [root@master1-server ~]#
3、安裝docker
sudo yum install -y docker-ce docker-ce-cli containerd.io #以下是在安裝k8s的時候使用 yum install -y docker-ce-20.10.7 docker-ce-cli-20.10.7 containerd.io-1.4.6
4、啟動
systemctl enable docker --now
5、配置加速
這里額外添加了docker的生產(chǎn)環(huán)境核心配置cgroup
鏡像加速器
1. 安裝/升級容器引擎客戶端推薦安裝1.11.2以上版本的容器引擎客戶端
2. 加速器地址https://061566c33ds53460026b60fedsdss3c00517392e80.mirror.swr.myhuaweicloud.com
3. 配置鏡像加速器針對容器引擎客戶端版本大于 1.11.2 的用戶以root用戶登錄容器引擎所在的虛擬機修改“/etc/docker/daemon.json”文件(如果沒有,可以手動創(chuàng)建),在該文件內(nèi)添加如下內(nèi)容:vi /etc/docker/daemon.json
{ "registry-mirrors": [ "https://061566c3360026b6dsa12210fe3c00517392e80.mirror.swr.myhuaweicloud.com" ] }
按“Esc”,輸入:wq保存并退出。
4. 重啟容器引擎配置完成后,執(zhí)行systemctl restart docker重啟容器引擎。 如果重啟失敗,則檢查操作系統(tǒng)其他位置(如:/etc/sysconfig/docker、/etc/default/docker)是否配置了registry-mirrors參數(shù),刪除此參數(shù)并重啟容器引擎即可。
5. 確認配置結(jié)果執(zhí)行docker info,當Registry Mirrors字段的地址為加速器的地址時,說明加速器已經(jīng)配置成功。
sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://061566c33600fdsfdsa423226b60fe3c00517392e80.mirror.swr.myhuaweicloud.com"], "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "100m" }, "storage-driver": "overlay2" }
[root@master1-server docker]# ll total 8 -rw-r--r-- 1 root root 253 Apr 14 11:21 daemon.json -rw------- 1 root root 244 Apr 14 11:02 key.json [root@master1-server docker]# [root@master1-server docker]# [root@master1-server docker]# systemctl daemon-reload [root@master1-server docker]# systemctl restart docker [root@master1-server docker]# systemctl status docker ● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled) Active: active (running) since Thu 2022-04-14 11:25:59 CST; 7s ago Docs: https://docs.docker.com Main PID: 299884 (dockerd) Tasks: 8 Memory: 40.9M CGroup: /system.slice/docker.service └─299884 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock Apr 14 11:25:58 master1-server dockerd[299884]: time="2022-04-14T11:25:58.998757809+08:00" level=info msg="ClientConn switching balancer to \"pick_fi> Apr 14 11:25:59 master1-server dockerd[299884]: time="2022-04-14T11:25:59.026125032+08:00" level=warning msg="Your kernel does not support cgroup blk> Apr 14 11:25:59 master1-server dockerd[299884]: time="2022-04-14T11:25:59.026141924+08:00" level=warning msg="Your kernel does not support cgroup blk> Apr 14 11:25:59 master1-server dockerd[299884]: time="2022-04-14T11:25:59.026233315+08:00" level=info msg="Loading containers: start." Apr 14 11:25:59 master1-server dockerd[299884]: time="2022-04-14T11:25:59.131937408+08:00" level=info msg="Default bridge (docker0) is assigned with > Apr 14 11:25:59 master1-server dockerd[299884]: time="2022-04-14T11:25:59.174945485+08:00" level=info msg="Loading containers: done." Apr 14 11:25:59 master1-server dockerd[299884]: time="2022-04-14T11:25:59.191440293+08:00" level=info msg="Docker daemon" commit=b0f5bc3 graphdriver(> Apr 14 11:25:59 master1-server dockerd[299884]: time="2022-04-14T11:25:59.191484627+08:00" level=info msg="Daemon has completed initialization" Apr 14 11:25:59 master1-server systemd[1]: Started Docker Application Container Engine. Apr 14 11:25:59 master1-server dockerd[299884]: time="2022-04-14T11:25:59.218406423+08:00" level=info msg="API listen on /var/run/docker.sock" lines 1-20/20 (END)
【與云原生的故事】有獎?wù)魑幕馃徇M行中:https://bbs.huaweicloud.com/blogs/345260
Docker Linux 云原生 云端實踐 虛擬化
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔相應(yīng)法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔相應(yīng)法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。