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

首頁綜合 正文
目錄

柚子快報邀請碼778899分享:容器 運維 Docker學習

柚子快報邀請碼778899分享:容器 運維 Docker學習

http://yzkb.51969.com/

1、docker

docker是一個開源的應用容器引擎,讓開發(fā)者可以打包他們的應用以及依賴包到一個可移植的容器中,然后發(fā)布到任何流行的Linux機器上,也可以實現(xiàn)虛擬化,容器是完全使用沙箱機制,相互之間不會有任何接口。

2、初識docker

開發(fā)環(huán)境 ->? 測試環(huán)境 -> 生產(chǎn)環(huán)境

3、安裝docker

# 1、切換鏡像源

wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo

# 2、查看當前鏡像源中支持的docker版本

yum list docker-ce --showduplicates

# 3、安裝特定版本的docker-ce

# 必須指定 --setopt=obsoletes=0,否則yum會自動安裝更高版本。

yum install --setopt=obsoletes=0 docker-ce-18.06.3.ce-3.el7 -y

# 4、添加一個配置文件

# Docker在默認情況下使用的Cgroup Driver為cgroupfs,而kubernetes推薦使用sysetemd來代替cgroupfs

mkdir /etc/docker

cd /etc/docker

touch daemon.json

通過vi編輯器輸入一下內(nèi)容

{

"registry-mirrors":["https://nh2pqkbt.mirror.aliyuncs.com"],

"insecure-registries":["192.168.31.101:5000"],

"exec-opts": ["native.cgroupdriver=systemd"]

}

#5、啟動docker

systemctl enable docker

systemctl restart docker

# 6、查看docker版本,驗證是否安裝成功

docker -v

4、docker架構(gòu)

鏡像(Image)

容器(Container)

倉庫(Repository)

5、配置docker鏡像加速器(安裝時已配置無需做)

設置docker國內(nèi)鏡像源【國內(nèi)鏡像源大全】_docker鏡像網(wǎng)站-CSDN博客

1、創(chuàng)建文件:touch? /etc/docker/daemon.json

2、然后vi編輯器輸入以下內(nèi)容

{

? "registry-mirrors": ["https://nh2pqkbt.mirror.aliyuncs.com"]

}

上述內(nèi)容如果拷貝的網(wǎng)頁上的,注意刪除下看不見的空格,否則很容易因為看不見的字符導致json格式解析失敗,進而導致docker啟動失敗,最好是拷貝到一個純文本文件中(不帶格式),調(diào)整以下再拷貝。如果實在不行就手動輸入,切注意使用英文輸入法。

3、重啟Docker sudo systemctl daemon-reload sudo systemctl restart docker

6、docker命令——服務相關(guān)命令

啟動:systemctl start docker

狀態(tài):systemctl? status docker

停止: sysetmctl stop docker

重啟:sysetmctl restart docker

開機自啟動: systemctl enable docker

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

查看:docker images

搜索:docker seearch redis(搜索“redis”)

拉?。篸ocker pull redis (默認latest版本)

拉取:docker pull redis:5.0(下載5.0版本,鏡像有哪些版本需要去hub上自己去查)

刪除:docker rmi? imgae_id (image輸入具體的鏡像id)

刪除: docker rmi name:tag (由于相同name可能有不同的tag,所以需要name+tag)

全部刪除: docker rmi `docker images -q` (docker images -q查看所有鏡像的id)

8、docker命令——容器相關(guān)命令1

創(chuàng)建容器:docker run -it --name=c1 centos:7? /bin/bash? ? (-i 保持運行,-t分配終端 ,--name起名字, /bin/bash? 進入容器的初始化指令) ※交互式容器

創(chuàng)建容器:docker run -id?--name=c1 centos:7?(-i 保持運行,-d后臺運行,退出容器容器不關(guān)閉?,--name起名字) ※守護式容器

exit 退出容器,回到宿主機

查看容器;:docker ps (正在運行的)

查看容器:docker ps -a (所有容器)

進入容器:docker exec -it C2 bin/bash

補充:docker run -e TZ=Asia/Shanghai --name your_container_name -d your_image

-e指定時區(qū)

9、docker命令——容器相關(guān)命令2

停止容器:docker stop 容器ID/容器名稱?

啟動容器:docker start 容器ID/容器名稱

刪除容器:docker rm? 容器ID/容器名稱?

刪除所有:docker rm `docker ps -aq` (運行狀態(tài)的無法刪除)

查看容器信息: docker inspect?容器ID/容器名稱

10、docker 容器數(shù)據(jù)卷——數(shù)據(jù)卷概念以及作用

11、docker 容器數(shù)據(jù)卷——配置數(shù)據(jù)卷(持久化)

docker run -id?--name=c1 -v /root/data:/root/data_container centos:7

touch a.txt 創(chuàng)建一個文件,exit到宿主機,然后cd 到? /root/data 下查看文件。刪除c1后,宿主機的data目錄依然存在。

-v參數(shù)可以設置多個,實現(xiàn)一個容器掛載多個目錄。

12、docker 容器數(shù)據(jù)卷——配置數(shù)據(jù)卷2(容器間通信)

多個容器掛載同一個目錄,操作步驟同上。效果如如圖。

13、docker 容器數(shù)據(jù)卷——數(shù)據(jù)卷容器

1、創(chuàng)建啟動c3數(shù)據(jù)卷容器,使用-v參數(shù)設置數(shù)據(jù)卷

docker run -id?--name=c3 -v? /volume centos:7

2、創(chuàng)建啟動 c1 c2 容器,使用 --volumes-from 參數(shù)設置容器卷

docker run -id --name=c1 --volumes-from c3 centos:7

docker run -id --name=c2?--volumes-from c3 centos:7

3、通過touch 文件查看各個容器的volume目錄的文件同步情況。

只是一種簡便的配置的方式,即使c3不在運行狀態(tài),c1 c2運行不受影響??梢酝ㄟ^docker inspect命令查看這幾個容器,他們的Mounts節(jié)點信息是一樣的。

14、docker應用部署——部署mysql

1、搜索mysql鏡像

docker search mysql

2、拉取mysql鏡像

docker pull mysq 5.6

3、創(chuàng)建容器,設置端口映射、目錄映射。

# 在root目錄下創(chuàng)建mysql目錄,用于存儲mysql信息

mkdir ~/mysql

docker run -id \

-p 3307:3306 \

--name=c_mysql \

-v /root/mysql/conf:/etc/mysql/conf.d \

-v /root/mysql/logs:/logs \

-v /root/mysql/data:/var/lib/mysql \

-e MYSQL_ROOT_PASSWORD=123456 \

mysql:5.6

遺留:對于諸多的中間件,如果需要在docker里部署,第一手的資料是從docker的相關(guān)資料文檔上去找,還是去該中間件的官方文檔去找。

15、docker應用部署——部署tomcat

1、搜索tomcat鏡像

docker search tomcat

2、拉取tomcat鏡像

docker pull tomcat?

3、創(chuàng)建容器、設置端口映射、目錄映射

mkdir? /root/tomcat

docker run -id --name=c_tomcat \

-p 8080:8080 \

-v /root/tomcat/:/usr/local/tomcat/webapps \

tomcat

4、驗證

cd /root/tomcat

mkdir test

cd test

touch index.html

最后隨便在index.html里寫點html代碼,然后再瀏覽器里訪問 http://宿主機IP:8080/test/index.html

16、docker應用部署——部署nginx

1、搜索nginx鏡像

docker search nginx

2、拉取nginx鏡像

docker pull nginx

3、準備工作

mkdir? /root/nginx

cd /root/nginx

mkdir? conf? ?

cd? conf

vim nginx.conf? (內(nèi)容直接用nginx安裝包里的nginx.conf文件,因為這個文件是nginx的核心配置文件,是需要根據(jù)業(yè)務調(diào)整的,因此需要通過掛載的方式保存在宿主機上)

#user nobody;

worker_processes 1;

#error_log logs/error.log;

#error_log logs/error.log notice;

#error_log logs/error.log info;

#pid logs/nginx.pid;

events {

worker_connections 1024;

}

http {

include 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 logs/access.log main;

sendfile on;

#tcp_nopush on;

#keepalive_timeout 0;

keepalive_timeout 65;

#gzip on;

server {

listen 80;

server_name localhost;

#charset koi8-r;

#access_log logs/host.access.log main;

location / {

root html;

index index.html index.htm;

}

#error_page 404 /404.html;

# redirect server error pages to the static page /50x.html

#

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root html;

}

# proxy the PHP scripts to Apache listening on 127.0.0.1:80

#

#location ~ \.php$ {

# proxy_pass http://127.0.0.1;

#}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

#

#location ~ \.php$ {

# root html;

# fastcgi_pass 127.0.0.1:9000;

# fastcgi_index index.php;

# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;

# include fastcgi_params;

#}

# deny access to .htaccess files, if Apache's document root

# concurs with nginx's one

#

#location ~ /\.ht {

# deny all;

#}

}

# another virtual host using mix of IP-, name-, and port-based configuration

#

#server {

# listen 8000;

# listen somename:8080;

# server_name somename alias another.alias;

# location / {

# root html;

# index index.html index.htm;

# }

#}

# HTTPS server

#

#server {

# listen 443 ssl;

# server_name localhost;

# ssl_certificate cert.pem;

# ssl_certificate_key cert.key;

# ssl_session_cache shared:SSL:1m;

# ssl_session_timeout 5m;

# ssl_ciphers HIGH:!aNULL:!MD5;

# ssl_prefer_server_ciphers on;

# location / {

# root html;

# index index.html index.htm;

# }

#}

}

4、創(chuàng)建容器、設置端口映射、目錄映射

docker run -id --name=c_nginx \

-p 80:80 \

-v /root/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \

-v /root/nginx/logs/:/var/log/nginx \

-v /root/nginx/html:/etc/nginx/html \

nginx

注意:不同版本的nginx,目錄結(jié)構(gòu)有可能有所不同。

17、docker應用部署——部署redis

1、搜索redis鏡像

docker search redis

2、拉取redis鏡像

docker pull redis:5.0

3、創(chuàng)建容器、設置端口映射

docker run -id \

-p 6379:6379 \

--name c_redis \

-v /root/redis/redis.conf:/etc/redis/redis.conf \

-v /root/redis/data:/data \

redis:5.0

?遺留:redis的配置文件,持久化等。

4、使用外部機器鏈接redis,或者其他UI客戶端

./redis-cli.exe -h 192.168.31.101 -p 6379

18、dockerfile——鏡像原理

Linux文件系統(tǒng):

分層的文件系統(tǒng):

19、dockerfile——容器轉(zhuǎn)為鏡像

目錄掛載的內(nèi)容不會打到新的鏡像里,因為他們實際存在在宿主機的目錄里。

20、dockerfile——dockerfile概述以及關(guān)鍵字

常見命令:

21、dockerfile——案例——部署springboot項目

?

dockerfile文件示例:

FROM java:8

MAINTAINER zhaojufei

ADD web-openapi-1.0.0.jar app.jar

CMD java -jar app.jar

構(gòu)建鏡像命令:docker build -f ./springboot_dockerfile -t app . 需要把jar包ftp到linux某個目錄,并且dockerfile和jar在同一個目錄下,方便ADD。

22、dockerfile——案例——自定義centos

23、docker compose——概述

24、docker compose——安裝使用

安裝docker compose

# compose目前已經(jīng)完全支持Linux、Mac Os和Windows,在我們安裝Compose之前,需要先安裝docker。下面我們以編譯好的二進制包方式安裝在Linux系統(tǒng)中。

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

# 設置文件可執(zhí)行權(quán)限

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

# 查看版本信息

docker-compose -version

卸載docker-compose

rm? /usr/local/bin/docker-compose

使用docker compose編排nginx+springboot

1、創(chuàng)建docker-compose目錄

mkdir? ~/docker-compose

cd ~/docker-compose

2、編寫docker-compose.yml

version: '3'

services:

nginx:

image: nginx

ports:

- 80:80

links:

- app

volumes:

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

app:

image: app

expose:

- "8080"

3、創(chuàng)建 /root/nginx/conf.d 目錄

mkdir -p? /root/nginx/conf.d

4、在conf.d目錄下編寫nginx.conf文件

server {

listen 80;

access_log off;

location / {

proxy_pass http://app:8080;

}

}

5、在? /root/docker-compose目錄下使用docker-compose 啟動容器

docker-compose up -d?

6、驗證

25、docker私有倉庫——搭建

# 1、拉取私有倉庫鏡像

docker pull registry

# 2、啟動私有倉庫容器

docker run -id --name=registry -p 5000:5000 registry

# 3、驗證:打開瀏覽器,輸入地址 http://私服倉庫IP:5000/v2/_catalog,看到{"repositries":[]}表示私服搭建成功

# 4、修改daemon.json

vim /etc/docker/daemon.json

# 在上述文件中添加一個key,保存退出。此步驟用于讓docker信任私有倉庫地址;注意將私有倉庫服務器ip修改為自己私有服務器真實ip,daemon是個json格式的文件,如果已經(jīng)有配置(比如之前的鏡像配置),只需要加個逗號,將下面大括號里面的內(nèi)容追加到逗號后面即可。

{ "insecure-registries":["192.168.31.101:5000"] }

# 5、重啟docker服務

systemctl restart docker

docker start registry

26、docker私有倉庫——上傳鏡像

# 1、標記鏡像為私有倉庫的鏡像: docker tag 鏡像名:版本 新的名字:版本。由于需要push,新的鏡像名要帶著倉庫信息,不打算push,這個名字可以隨意起

docker tag centos:7 私有倉庫服務器IP:5000/centos:7

# 2、上傳標記的鏡像

docker push 私有倉庫服務器IP:5000/centos:7

驗證:

27、docker私有倉庫——拉取鏡像

docker images 查看本地鏡像,刪除掉tag鏡像。

然后拉取 docker pull??192.168.31.101:5000/centos:7?

然后再次docker images看下是否拉取成功。

注意:我們看到下載時提示并沒有下載,而是使用舊的已刪除的做的恢復。這個不影響我們實驗。

28、docker和虛擬機比較

柚子快報邀請碼778899分享:容器 運維 Docker學習

http://yzkb.51969.com/

好文推薦

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

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

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

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

發(fā)布評論

您暫未設置收款碼

請在主題配置——文章設置里上傳

掃描二維碼手機訪問

文章目錄