欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報激活碼778899分享:運(yùn)維 Docker容器高級篇

柚子快報激活碼778899分享:運(yùn)維 Docker容器高級篇

http://yzkb.51969.com/

文章目錄

一、Dockerfile文件1.dockerfile基礎(chǔ)知識2.docker執(zhí)行dockerfile的大致流程3.dockerfile常用保留字4.dockerfile構(gòu)建鏡像示例

二、docker network1.docker net常用指令2.docker的網(wǎng)絡(luò)模式

三、docker-compose容器編排1.下載安裝2.三個步驟3.compose常用命令4.不使用docker-compose編排5.使用docker-compose編排

四、Docker輕量級可視化工具——Portainer1.安裝

五、Docker容器監(jiān)控之CIG1.安裝步驟

一、Dockerfile文件

Dockerfile:用來構(gòu)建docker鏡像的文本文件,是由一條條構(gòu)建鏡像所需的指令和參數(shù)構(gòu)成的腳本

1.dockerfile基礎(chǔ)知識

每條保留字指令都必須為大寫字母且后面要跟隨至少一個參數(shù)指令按照從上到下,順序執(zhí)行#表示注釋每條指令都會創(chuàng)建一個新的鏡像層并對鏡像進(jìn)行提交

2.docker執(zhí)行dockerfile的大致流程

docker從基礎(chǔ)鏡像運(yùn)行一個容器執(zhí)行一條指令并對容器作出修改執(zhí)行類似docker commit的操作提交一個新的鏡像層docker再基于剛提交的鏡像運(yùn)行一個新容器執(zhí)行dockerfile中的下一條指令直到所有指令都執(zhí)行完成

3.dockerfile常用保留字

FROM: 基礎(chǔ)鏡像,當(dāng)前新鏡像是基于哪個鏡像的,指定一個已經(jīng)存在的鏡像作為模板,第一條必須為FROMMAINTAINER:鏡像維護(hù)者的姓名和郵箱RUN:容器構(gòu)建時需要運(yùn)行的命令,兩種格式①shell格式 ②exec格式,RUN是在docker build時運(yùn)行EXPOSE:當(dāng)前容器對外暴露出的端口WORKDIR:指定在創(chuàng)建容器后,終端默認(rèn)登錄的進(jìn)來工作目錄,一個落腳點(diǎn)USER:指定該鏡像以什么樣的用戶去執(zhí)行,如果都不指定,默認(rèn)是rootENV:用來在構(gòu)建鏡像過程中設(shè)置環(huán)境變量ADD:將宿主機(jī)目錄下的文件拷貝進(jìn)鏡像且會自動處理URL和解壓tar壓縮包COPY:類似ADD,拷貝文件和目錄到鏡像中,將從構(gòu)建上下文目錄中<源路徑>的文件/目錄復(fù)制到新的一層鏡像內(nèi)的<目標(biāo)路徑>位置VOLUME:容器數(shù)據(jù)卷,用于數(shù)據(jù)保存和持久化工作CMD:指定容器啟動后要干的事情。注意:dockerfile中可以有多個CMD指令,但只有最后一個生效,CMD會被docker run之后的參數(shù)替換。和RUN命令的區(qū)別:RUN是在docker build時運(yùn)行,CMD是在docker run時運(yùn)行。ENTRYPOINT:也是用來指定一個容器啟動時要運(yùn)行的命令,類似于CMD指令,但是ENTRYPOINT不會被docker run后面的指令覆蓋,而且這些命令行參數(shù)會被當(dāng)做參數(shù)送給ENTRYPOINT指令指定的程序。

4.dockerfile構(gòu)建鏡像示例

FROM centos #基礎(chǔ)鏡像centos

MAINTAINER Sevon<1169348394@qq.com> #作者和郵箱

ENV MYPATH /usr/local #設(shè)置環(huán)境變量

WORKDIR $MYPATH #指定在創(chuàng)建容器后,終端默認(rèn)登錄的進(jìn)來工作目錄,一個落腳點(diǎn)

# 安裝vim編輯器

RUN yum -y install vim

# 安裝ifconfig命令查看網(wǎng)絡(luò)ip

RUN yum -y install net-tools

# 安裝java8及l(fā)ib庫

RUN yum -y install glibc.i686

RUN mkdir /usr/local/java

# ADD是相對路徑j(luò)ar,把jdk-8u171-linux-x64.tar.gz添加到容器中,安裝包必須和Dockerfile文件在同一位置

ADD jdk-8u171-linux-x64.tar.gz /usr/local/java/

# 配置java環(huán)境變量

ENV JAVA_HOME /usr/local/java/jdk1.8.0_171

ENV JRE_HOME $JAVA_HOME/jre

ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH

ENV PATH $JAVA_HOME/bin:$PATH

EXPOSE 80

CMD echo $MYPATH

CMD echo "success...ok"

CMD /bin/bash

二、docker network

docker 網(wǎng)路管理和容器調(diào)用之間的規(guī)劃。容器間的互聯(lián)和通信以及端口映射,容器IP變動時候可以通過服務(wù)名直接網(wǎng)絡(luò)通信而不受到影響

1.docker net常用指令

查看所有網(wǎng)絡(luò):docker network ls

docker net ls

NETWORK ID NAME DRIVER SCOPE

0e90e9ce01bb bridge bridge local

491e6cd7bd02 cig_default bridge local

a016b1213d05 host host local

f894992777e6 none null local

98eb963d7c95 sevon_network bridge local

自定義網(wǎng)絡(luò):

docker network create aa_network

刪除網(wǎng)絡(luò)

docker network rm aa_network

查看網(wǎng)絡(luò)詳情:docker network inspect sevon_network

docker network inspect sevon_network

[

{

"Name": "sevon_network",

"Id": "98eb963d7c9532634202fef52fe4437dcdc82dc236874c0885287fdf359e13fa",

"Created": "2023-03-20T11:19:04.778700432+08:00",

"Scope": "local",

"Driver": "bridge",

"EnableIPv6": false,

"IPAM": {

"Driver": "default",

"Options": {},

"Config": [

{

"Subnet": "172.18.0.0/16",

"Gateway": "172.18.0.1"

}

]

},

"Internal": false,

"Attachable": false,

"Ingress": false,

"ConfigFrom": {

"Network": ""

},

"ConfigOnly": false,

"Containers": {},

"Options": {},

"Labels": {}

}

]

2.docker的網(wǎng)絡(luò)模式

bridge:為每一個容器分配、設(shè)置IP等,并將容器連接到一個docker0虛擬網(wǎng)橋,默認(rèn)為該模式host:容器將不會虛擬出自己的網(wǎng)卡,配置自己的IP等,而是使用宿主機(jī)的IP和端口none(不常用):容器有獨(dú)立的Network namespace,但并沒有對其進(jìn)行任何網(wǎng)絡(luò)設(shè)置,如分配veth pair和網(wǎng)橋連接,IP等container:新創(chuàng)建的容器不會創(chuàng)建自己的網(wǎng)卡和配置自己的IP,而是和一個指定的容器共享IP,端口范圍等

三、docker-compose容器編排

docker-compose是docker官方的開源項(xiàng)目,負(fù)責(zé)實(shí)現(xiàn)對docker容器集群的快速編排。compose是docker公司推出的一個工具軟件,可以管理多個docker容器組成一個應(yīng)用。需要定義一個YAML格式的配置文件docker-compose.yaml,寫出好多個容器之間的調(diào)用關(guān)系。然后,只要一個命令,就能同時啟動/關(guān)閉這些容器。

1.下載安裝

官網(wǎng)地址 官網(wǎng)下載

DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}

mkdir -p $DOCKER_CONFIG/cli-plugins

curl -SL https://github.com/docker/compose/releases/download/v2.16.0/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose

chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose

docker compose version

2.三個步驟

編寫Dockerfile定義各個微服務(wù)應(yīng)用并構(gòu)建出對應(yīng)的鏡像文件。使用docker-compose.yml定義一個完整業(yè)務(wù)單元,安排好整體應(yīng)用中的各個容器服務(wù)。最后,執(zhí)行docker-compose up命令來啟動并運(yùn)行整個應(yīng)用程序,完成一鍵部署上線

3.compose常用命令

docker-compose -h 查看幫助docker-compose up 啟動所有docker-compose服務(wù)docker-compose up -d 啟動所有docker-compose服務(wù)并后臺運(yùn)行docker-compose down 停止并刪除容器、網(wǎng)絡(luò)、卷、鏡像docker-compose exec yml里面的服務(wù)id 進(jìn)入容器實(shí)例內(nèi)部,docker-compose exec docker-compose.yml文件中寫的服務(wù)id /bin/bashdocker-compose ps 展示當(dāng)前docker-compose編排過的運(yùn)行的所有容器docker-compose top 展示當(dāng)前docker-compose編排過的容器進(jìn)程docker-compose logs yml里面的服務(wù)id 查看容器輸出日志docker-compose config 檢查配置docker-compose config -q 檢查配置,有問題才有輸出docker-compose restart 重啟服務(wù)docker-compose start 啟動服務(wù)docker-compose stop 停止服務(wù)

4.不使用docker-compose編排

先后順序要固定,先mysql+redis才能微服務(wù)訪問成功多個run命令容器間的啟停或宕機(jī),有可能導(dǎo)致ip地址對應(yīng)的容器實(shí)例變化,映射出錯,要么生產(chǎn)ip寫死,要么通過服務(wù)調(diào)用

5.使用docker-compose編排

編寫docker-compose.yml

version:"3"

services:

microService:

image: sevon_dockerdemo:2.0

container_name:ms01

ports:

- "9092:9092"

volumes:

- /app/microService:/data

networks:

- atguigu_net

depends_on:

- redis

- mysql

redis:

image:redis:6.2.11

ports:

- "6379:6379"

volumes:

- /app/redis/redis.conf:/etc/redis/redis.conf

- /app/redis/data:/data

networks:

- atguigu_net

command: redis-server /etc/redis/redis.conf

mysql:

image:mysql:8.0

environment:

MYSQL_ROOT_PASSWORD: 'Zhang0727'

MYSQL_ALLOW_EMPTY_PASSWORD: 'no'

MYSQL_DATASE: 'atguigudb'

MYSQL_USER: 'root'

MYSQL_PASSWORD: 'Zhang0727'

ports:

- "3306:3306"

volumes:

- /app/mysql/db:/var/lib/mysql

- /app/mysql/conf/my.cnf:/etc/my.cnf

- /adpp/mysql/init:/docker-entrypoint-initdb.d

networks:

- atguigu_net

command: --default-authentication-plugin=mysql_native_password #解決外部無法訪問

networks:

atguigu_net:

修改配置文件,ip改服務(wù)名啟動

四、Docker輕量級可視化工具——Portainer

輕量級的應(yīng)用,提供了圖形化界面,用于方便的管理Docker環(huán)境,包括單機(jī)環(huán)境和集群環(huán)境

1.安裝

官網(wǎng)地址 官網(wǎng)下載 運(yùn)行:docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer

訪問:http://xxx.xx.xx.xx:9000/

五、Docker容器監(jiān)控之CIG

CAdvisor:容器資源監(jiān)控工具,包括容器的內(nèi)存,cpu,網(wǎng)絡(luò)IO,磁盤IO等監(jiān)控,同時提供了一個WEB頁面用于查看容器的實(shí)時運(yùn)行狀態(tài)。CAdvisor默認(rèn)存儲2分鐘的數(shù)據(jù),而且只針對單物理機(jī)。不過CAdvisor提供了很多數(shù)據(jù)集成接口,支持influxDB,Redis,kafka,es等集成,可以加上對應(yīng)配置將監(jiān)控數(shù)據(jù)發(fā)往這些數(shù)據(jù)庫存儲起來。主要功能:1.展示Host和容器兩個層次的監(jiān)控數(shù)據(jù)。2.展示歷史變化數(shù)據(jù)InfluxDB:是用Go語言編寫的一個開源分布式時序、事件和指標(biāo)數(shù)據(jù)庫,無需外部依賴。主要功能:1.基于時間序列,支持與時間有關(guān)的相關(guān)函數(shù)(如最大、最小、求和等) 2.可度量行:你可以實(shí)時對大量數(shù)據(jù)進(jìn)行計算 3.基于事件:它支持任意的事件數(shù)據(jù)Granfana:開源的數(shù)據(jù)監(jiān)控分析可視化平臺,支持多種數(shù)據(jù)源配置(支持的數(shù)據(jù)源包括influxDB,mysql,es等)和豐富的插件及模板功能,支持圖表權(quán)限控制和報警。主要特性:1.靈活豐富的圖形化選項(xiàng) 2.可以混合多種風(fēng)格 3.支持白天和夜間模式 4.多個數(shù)據(jù)源

1.安裝步驟

新建目錄創(chuàng)建docker-compose.yml

version: '3.1'

volumes:

grafana_data: {}

services:

influxdb:

image: tutum/influxdb:0.9

restart: always

environment:

- PRE_CREATE_DB=cadvisor

ports:

- "8083:8083"

- "8086:8086"

volumes:

- ./data/influxdb:/data

cadvisor:

image: google/cadvisor

links:

- influxdb:influxsrv

command: -storage_driver=influxdb -storage_driver_db=cadvisor -storage_driver_host=influxsrv:8086

restart: always

ports:

- "8080:8080"

volumes:

- /:/rootfs:ro

- /var/run:/var/run:rw

- /sys:/sys:ro

- /var/lib/docker/:/var/lib/docker:ro

grafana:

user: "104"

image: grafana/grafana

user: "104"

restart: always

links:

- influxdb:influxsrv

ports:

- "3000:3000"

volumes:

- grafana_data:/var/lib/grafana

environment:

- HTTP_USER=admin

- HTTP_PASS=admin

- INFLUXDB_HOST=influxsrv

- INFLUXDB_PORT=8086

- INFLUXDB_NAME=cadvisor

- INFLUXDB_USER=root

- INFLUXDB_PASS=root

檢查yml文件并啟動

docker compose config -q #沒有消息就是好消息

docker-compose up -d #后臺啟動,推薦使用

登錄3000配置Granfana

?

原創(chuàng)不易,還希望各位大佬支持一下

\textcolor{blue}{原創(chuàng)不易,還希望各位大佬支持一下}

原創(chuàng)不易,還希望各位大佬支持一下 ?

點(diǎn)贊,你的認(rèn)可是我創(chuàng)作的動力!

\textcolor{green}{點(diǎn)贊,你的認(rèn)可是我創(chuàng)作的動力!}

點(diǎn)贊,你的認(rèn)可是我創(chuàng)作的動力! ??

收藏,你的青睞是我努力的方向!

\textcolor{green}{收藏,你的青睞是我努力的方向!}

收藏,你的青睞是我努力的方向! ??

評論,你的意見是我進(jìn)步的財富!

\textcolor{green}{評論,你的意見是我進(jìn)步的財富!}

評論,你的意見是我進(jìn)步的財富!

柚子快報激活碼778899分享:運(yùn)維 Docker容器高級篇

http://yzkb.51969.com/

推薦鏈接

評論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場。

轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/19132681.html

發(fā)布評論

您暫未設(shè)置收款碼

請在主題配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問

文章目錄