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

目錄

柚子快報(bào)邀請(qǐng)碼778899分享:運(yùn)維 容器 docker

柚子快報(bào)邀請(qǐng)碼778899分享:運(yùn)維 容器 docker

http://yzkb.51969.com/

docker概述

docker的安裝

安裝docker

# 1、yum 包更新到最新

yum update

# 2、安裝需要的軟件包, yum-util 提供yum-config-manager功能,另外兩個(gè)是devicemapper驅(qū)動(dòng)依賴的

yum install -y yum-utils device-mapper-persistent-data lvm2

# 3、 設(shè)置yum源

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

# 4、 安裝docker,出現(xiàn)輸入的界面都按 y

yum install -y docker-ce

# 5、 查看docker版本,驗(yàn)證是否驗(yàn)證成功

docker -v

配置docker鏡像加速器

登錄阿里云,點(diǎn)擊控制臺(tái)搜索鏡像加速器粘貼里面的代碼

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF'

{

"registry-mirrors": ["https://2ciqvj0f.mirror.aliyuncs.com"]

}

EOF

sudo systemctl daemon-reload

sudo systemctl restart docker

docker基本命令

docker相關(guān)命令

#啟動(dòng)docker

systemctl start docker

#關(guān)閉docker

systemctl stop docker

#重啟docker

systemctl restart docker

#查看docker的狀態(tài)

systemctl status docker

docker鏡像相關(guān)命令

#查看本地鏡像

docker images

#查看所用鏡像id

docker images -q

#搜索鏡像

docker search images

#從docker倉(cāng)庫(kù)下載鏡像到本地

docker pull 鏡像名稱

#刪除鏡像

docker rmi 鏡像id

docker容器相關(guān)命令

#查看正在運(yùn)行的容器

docker ps

#查看所有容器

docker ps -a

#創(chuàng)建并啟動(dòng)容器,-i保持容器運(yùn)行,-t為容器分配一個(gè)偽容器終端,-d以守護(hù)進(jìn)程方式運(yùn)行容器,--name為創(chuàng)建的容器命名

docker run 參數(shù)

#進(jìn)入容器

docker exec 參數(shù)

#停止容器

docker stop 容器名稱

#啟動(dòng)容器

docker start 容器名稱

#刪除容器

docker rm 容器名稱

#查看容器信息

docker inspect 容器名稱

數(shù)據(jù)卷

數(shù)據(jù)卷

數(shù)據(jù)卷是宿主機(jī)中的一個(gè)文件或者目錄當(dāng)容器中的目錄和數(shù)據(jù)卷目錄綁定后,對(duì)方的修改會(huì)立即同步一個(gè)數(shù)據(jù)卷可以被多個(gè)容器掛載,一個(gè)容器也可以掛載多個(gè)數(shù)據(jù)卷

數(shù)據(jù)卷的作用

容器數(shù)據(jù)持久化外部機(jī)器和容器通信容器之間數(shù)據(jù)交換

命令

#目錄必須是絕對(duì)路徑

docker run ... –v 宿主機(jī)目錄(文件):容器內(nèi)目錄(文件) ...

#創(chuàng)建數(shù)據(jù)卷容器

docker run –it --name=c3 –v /volume centos:7 /bin/bash

#其余容器繼承自數(shù)據(jù)卷容器

docker run –it --name=c1 --volumes-from c3 centos:7 /bin/bash

docker run –it --name=c2 --volumes-from c3 centos:7 /bin/bash

應(yīng)用部署

部署MySQL

創(chuàng)建目錄

# 在/root目錄下創(chuàng)建mysql目錄用于存儲(chǔ)mysql數(shù)據(jù)信息

mkdir ~/mysql

cd ~/mysql

設(shè)置端口映射、目錄映射、啟動(dòng)容器

docker run -id \

#容器端口3306映射到宿主機(jī)端口3307

-p 3307:3306 \

#容器名稱

--name=c_mysql \

#目錄掛載,$PWD表示當(dāng)前目錄

-v $PWD/conf:/etc/mysql/conf.d \

-v $PWD/logs:/logs \

-v $PWD/data:/var/lib/mysql \

-e MYSQL_ROOT_PASSWORD=123456 \

mysql:5.6

部署tomcat

創(chuàng)建目錄

# 在/root目錄下創(chuàng)建tomcat目錄用于存儲(chǔ)tomcat數(shù)據(jù)信息

mkdir ~/tomcat

cd ~/tomcat

設(shè)置端口映射、目錄映射、啟動(dòng)容器

docker run -id --name=c_tomcat \

-p 8080:8080 \

#目錄映射

-v $PWD:/usr/local/tomcat/webapps \

tomcat

部署nginx

創(chuàng)建目錄

# 在/root目錄下創(chuàng)建nginx目錄用于存儲(chǔ)nginx數(shù)據(jù)信息

mkdir ~/nginx

cd ~/nginx

mkdir conf

cd conf

# 在~/nginx/conf/下創(chuàng)建nginx.conf文件,粘貼下面內(nèi)容

vim nginx.conf

user nginx;

worker_processes 1;

error_log /var/log/nginx/error.log warn;

pid /var/run/nginx.pid;

events {

worker_connections 1024;

}

http {

include /etc/nginx/mime.types;

default_type application/octet-stream;

log_format main '$remote_addr - $remote_user [$time_local] "$request" '

'$status $body_bytes_sent "$http_referer" '

'"$http_user_agent" "$http_x_forwarded_for"';

access_log /var/log/nginx/access.log main;

sendfile on;

#tcp_nopush on;

keepalive_timeout 65;

#gzip on;

include /etc/nginx/conf.d/*.conf;

}

進(jìn)行端口映射、啟動(dòng)容器

docker run -id --name=c_nginx \

#端口映射

-p 80:80 \

#目錄掛載

-v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf \

-v $PWD/logs:/var/log/nginx \

-v $PWD/html:/usr/share/nginx/html \

nginx

dockerfile

docker鏡像

docker鏡像本質(zhì):一個(gè)分層文件系統(tǒng)docker鏡像的原理: docker鏡像是特殊文件系統(tǒng)疊加而成的,最底層是bootfs并使用宿主機(jī)的bootfs,第二層是root文件系統(tǒng)rootfs,統(tǒng)一文件系統(tǒng)(Union File System)技術(shù)能夠?qū)⒉煌膶诱铣梢粋€(gè)文件系統(tǒng),為這些層提供了一個(gè)統(tǒng)一的視角,這樣就隱藏了多層的存在,在用戶的角度看來(lái),只存在一個(gè)文件系統(tǒng)。一個(gè)鏡像可以放在另一個(gè)鏡像的上面。位于下面的鏡像稱為父鏡像,最底部的鏡像成為基礎(chǔ)鏡像。當(dāng)從一個(gè)鏡像啟動(dòng)容器時(shí), Docker會(huì)在最頂層加載一個(gè)讀寫(xiě)文件系統(tǒng)作為容器。

鏡像制作

容器轉(zhuǎn)為鏡像

docker commit 容器id 鏡像名稱:版本號(hào)

docker save -o 壓縮文件名稱 鏡像名稱:版本號(hào)

docker load –i 壓縮文件名稱

使用dockerfile制作鏡像 dockerfile就是一個(gè)文件,文件中包含了若干條指令,一條指令構(gòu)建一層,基于基礎(chǔ)鏡像構(gòu)建自己的鏡像。 1、dockerfile中的基本指令

關(guān)鍵字作用備注FROM指定父鏡像指定dockerfile基于那個(gè)image構(gòu)建MAINTAINER作者信息用來(lái)標(biāo)明這個(gè)dockerfile誰(shuí)寫(xiě)的LABEL標(biāo)簽用來(lái)標(biāo)明dockerfile的標(biāo)簽 可以使用Label代替Maintainer 最終都是在docker image基本信息中可以查看RUN執(zhí)行命令執(zhí)行一段命令 默認(rèn)是/bin/sh 格式: RUN command 或者 RUN [“command” , “param1”,“param2”]CMD容器啟動(dòng)命令提供啟動(dòng)容器時(shí)候的默認(rèn)命令 和ENTRYPOINT配合使用.格式 CMD command param1 param2 或者 CMD [“command” , “param1”,“param2”]ENTRYPOINT入口一般在制作一些執(zhí)行就關(guān)閉的容器中會(huì)使用COPY復(fù)制文件build的時(shí)候復(fù)制文件到image中ADD添加文件build的時(shí)候添加文件到image中 不僅僅局限于當(dāng)前build上下文 可以來(lái)源于遠(yuǎn)程服務(wù)ENV環(huán)境變量指定build時(shí)候的環(huán)境變量 可以在啟動(dòng)的容器的時(shí)候 通過(guò)-e覆蓋 格式ENV name=valueARG構(gòu)建參數(shù)構(gòu)建參數(shù) 只在構(gòu)建的時(shí)候使用的參數(shù) 如果有ENV 那么ENV的相同名字的值始終覆蓋arg的參數(shù)VOLUME定義外部可以掛載的數(shù)據(jù)卷指定build的image那些目錄可以啟動(dòng)的時(shí)候掛載到文件系統(tǒng)中 啟動(dòng)容器的時(shí)候使用 -v 綁定 格式 VOLUME [“目錄”]EXPOSE暴露端口定義容器運(yùn)行的時(shí)候監(jiān)聽(tīng)的端口 啟動(dòng)容器的使用-p來(lái)綁定暴露端口 格式: EXPOSE 8080 或者 EXPOSE 8080/udpWORKDIR工作目錄指定容器內(nèi)部的工作目錄 如果沒(méi)有創(chuàng)建則自動(dòng)創(chuàng)建 如果指定/ 使用的是絕對(duì)地址 如果不是/開(kāi)頭那么是在上一條workdir的路徑的相對(duì)路徑USER指定執(zhí)行用戶指定build或者啟動(dòng)的時(shí)候 用戶 在RUN CMD ENTRYPONT執(zhí)行的時(shí)候的用戶HEALTHCHECK健康檢查指定監(jiān)測(cè)當(dāng)前容器的健康監(jiān)測(cè)的命令 基本上沒(méi)用 因?yàn)楹芏鄷r(shí)候 應(yīng)用本身有健康監(jiān)測(cè)機(jī)制ONBUILD觸發(fā)器當(dāng)存在ONBUILD關(guān)鍵字的鏡像作為基礎(chǔ)鏡像的時(shí)候 當(dāng)執(zhí)行FROM完成之后 會(huì)執(zhí)行 ONBUILD的命令 但是不影響當(dāng)前鏡像 用處也不怎么大STOPSIGNAL發(fā)送信號(hào)量到宿主機(jī)該STOPSIGNAL指令設(shè)置將發(fā)送到容器的系統(tǒng)調(diào)用信號(hào)以退出。SHELL指定執(zhí)行腳本的shell指定RUN CMD ENTRYPOINT 執(zhí)行命令的時(shí)候 使用的shell

2、部署SpringBoot項(xiàng)目 將SpringBoot項(xiàng)目打包,上傳到linux中,新建立一個(gè)dockerfile,輸入以下內(nèi)容:

#加載jdk

FROM java:8

#作者

MAINTAINER itheima

#添加項(xiàng)目

ADD hello-0.0.1-SNAPSHOT.jar app.jar

#運(yùn)行項(xiàng)目

CMD java -jar app.jar

構(gòu)建鏡像,輸入如下命令

docker bulid –f dockerfile文件路徑 –t 鏡像名稱:版本

初始化容器

docker run -id -p 8081:8080 鏡像名稱:版本

docker服務(wù)編排

微服務(wù)架構(gòu)需要啟動(dòng)多個(gè)容器,多個(gè)容器的啟動(dòng)需要遵循一定的順序,需要管理這些容器。如果手動(dòng)去操作,太過(guò)繁瑣。服務(wù)編排就是按照一定的順序批量管理這些容器。

使用Docker Compose進(jìn)行服務(wù)編排 安裝

curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

設(shè)置權(quán)限

chmod +x /usr/local/bin/docker-compose

查看版本信息

docker-compose -version

編排項(xiàng)目 創(chuàng)建docker-compose目錄

mkdir ~/docker-compose

cd ~/docker-compose

編寫(xiě)docker-compose.yml文件

version: '3'

services:

#設(shè)置nginx容器

nginx:

#容器使用的鏡像

image: nginx

#端口映射

ports:

- 80:80

#反向代理的服務(wù)

links:

- app

#掛載的目錄

volumes:

- ./nginx/conf.d:/etc/nginx/conf.d

#SpringBoot項(xiàng)目

app:

image: app

#暴露的接口

expose:

- "8080"

創(chuàng)建./nginx/conf.d目錄并在該目錄下編寫(xiě)配置文件xxx.conf

server {

#監(jiān)聽(tīng)對(duì)nginx的80端口的訪問(wèn)

listen 80;

access_log off;

location / {

#映射到app的

proxy_pass http://app:8080;

}

}

在~/docker-compose目錄下使用docker-compose啟動(dòng)容器

docker-compose up

柚子快報(bào)邀請(qǐng)碼778899分享:運(yùn)維 容器 docker

http://yzkb.51969.com/

參考鏈接

評(píng)論可見(jiàn),查看隱藏內(nèi)容

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

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

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

發(fā)布評(píng)論

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

請(qǐng)?jiān)谥黝}配置——文章設(shè)置里上傳

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

文章目錄