通俗易懂了解什么是docker?以及docker的各種安裝環(huán)境!

一炕置、docker是什么?

1.Docker的三個基本概念:

Image(鏡像)

Container(容器)

Repository(倉庫)

Docker的思想來自于集裝箱欧芽,集裝箱解決了什么問題?

在一艘大船上葛圃,可以把貨物規(guī)整的擺放起來千扔。并且各種各樣的貨物被集裝箱標準化了憎妙,集裝箱和集裝箱之間不會互相影響。那么我就不需要專門運送水果的船和專門運送化學(xué)品的船了曲楚。只要這些貨物在集裝箱里封裝的好好的厘唾,那我就可以用一艘大船把他們都運走。docker就是類似的理念×埽現(xiàn)在都流行云計算了抚垃,云計算就好比大貨輪。docker就是集裝箱.

還不懂得話,在這么理解,docker你理解為快遞車.

那么快遞車是不是有一個個包裹,包裹可以理解為一個鏡像,鏡像可以理解為一個Java類趟大,而容器可以理解為Java類的實例鹤树。

類只有一個,但可以new出千千萬萬個實例對象逊朽。所以罕伯,鏡像只是一個可以生成容器的東西,而容器才能讓程序運行起來叽讳。

倉庫的話,比如說,都應(yīng)該用過git吧,完全可以理解為git,上傳拉取操作

那么docker有什么好處呢?

最簡單的一個例子,比如說,你在剛開始的一臺服務(wù)器部署項目,那么部署項目一定要配置mysql等環(huán)境是吧

那么現(xiàn)在你要吧這個項目遷移到另一臺服務(wù)器上,又要重寫在另一臺服務(wù)器上重寫配置mysql等環(huán)境.可能會出現(xiàn)版本錯亂等錯誤,很麻煩

那么現(xiàn)在第一次部署項目的時候,把項目等環(huán)境直接放進docker里面,下次你要遷移項目到另一臺服務(wù)器上,自己把docker鏡像上傳到docker倉庫上,然后再另一臺服務(wù)器拉取就直接O了,這只是好處之一

二追他、Linux安裝docker

安裝docker

卸載舊版本

sudo yum remove docker \

? ? ? ? ? ? ? ? ? docker-client \

? ? ? ? ? ? ? ? ? docker-client-latest \

? ? ? ? ? ? ? ? ? docker-common \

? ? ? ? ? ? ? ? ? docker-latest \

? ? ? ? ? ? ? ? ? docker-latest-logrotate \

? ? ? ? ? ? ? ? ? docker-logrotate \

? ? ? ? ? ? ? ? ? docker-engine

安裝docker需要依賴的包

sudo yum install -y yum-utils

告訴Linux,Docker安裝地址

sudo yum-config-manager \

? ? --add-repo \

? ? https://download.docker.com/linux/centos/docker-ce.repo

安裝Docker引擎岛蚤,客戶端邑狸,容器

sudo yum install docker-ce docker-ce-cli containerd.io

啟動

sudo systemctl start docker

設(shè)置開機自啟

systemctl enable docker

配置阿里云鏡像加速(CnetOS)

https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

執(zhí)行命令重啟

創(chuàng)建文件夾

sudo mkdir -p /etc/docker

配置鏡像加速器地址

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

{

? "registry-mirrors": ["https://這里需要登陸阿里云.com"]

}

EOF

重啟docker的后臺線程

sudo systemctl daemon-reload

重啟docker的服務(wù)

sudo systemctl restart docker


docker安裝mysq

安裝鏡像

docker pull mysql:5.7

查看docker中鏡像

docker images

創(chuàng)建實例并啟動

docker run -p 3306:3306 --name mysql \

-v /mydata/mysql/log:/var/log/mysql \

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

-v /mydata/mysql/conf:/etc/mysql \

-e MYSQL_ROOT_PASSWORD=root \

-d mysql:5.7

創(chuàng)建mysql配置文件

vi /mydata/mysql/conf/my.cnf

寫入配置信息

[client]

default-character-set=utf8

[mysql]

default-character-set=utf8

[mysqld]

init_connect='SET collation_connection = utf8_unicode_ci'

init_connect='SET NAMES utf8'

character-set-server=utf8

collation-server=utf8_unicode_ci

skip-character-set-client-handshake

skip-name-resolve


重啟mysql容器

docker restart mysql


進入mysql容器內(nèi)部,并查看文件目錄

docker exec -it mysql /bin/bash

docker安裝redis

下載最新鏡像

docker pull redis

創(chuàng)建目錄結(jié)構(gòu)

mkdir -p /mydata/redis/conf

創(chuàng)建配置文件

touch /mydata/redis/conf/redis.conf

安裝redis(并掛載配置文件)

docker run -p 6379:6379 --name redis -v /mydata/redis/data:/data \

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

-d redis redis-server /etc/redis/redis.conf


連接到docker的redis

docker exec -it redis redis-cli

測試redis(exit:退出)

127.0.0.1:6379> set a b

OK

127.0.0.1:6379> get a

"b"

127.0.0.1:6379> exit

docker restart redis

修改redis配置文件(設(shè)置持久化)

appendonly yes

設(shè)置容器在docker啟動的時候啟動

docker update mysql --restart=always

docker update redis --restart=always

docker安裝nginx

首先要cd到mydata文件夾下面涤妒,創(chuàng)建文件夾

mkdir nginx

下載并啟動

docker run -p 80:80 --name nginx -d nginx:1.10

將容器內(nèi)的配置文件拷貝到當前nginx目錄(注意此時我們的位置在mydata文件夾下)

docker container cp nginx:/etc/nginx .

停止nginx容器

docker stop nginx

刪除nginx鏡像

docker rm nginx

重命名nginx文件夾為conf

mv nginx conf

再次創(chuàng)建nginx文件夾

mkdir nginx

將conf移動到nginx

mv conf nginx/

再次創(chuàng)建docker實例

docker run -p 80:80 --name nginx \

-v /mydata/nginx/html:/usr/share/nginx/html \

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

-v /mydata/nginx/conf:/etc/nginx \

-d nginx:1.10

設(shè)置開機啟動

docker update nginx --restart=always

訪問http://http://30.37.112.250/

默認訪問html文件夾单雾,在html文件夾下創(chuàng)建index.html,并寫入<h1>hello</h1>届腐,再次訪問就可以訪問到

在html文件夾下創(chuàng)建文件夾es铁坎,在es文件夾創(chuàng)建test.text,寫入張三

頁面訪問http://30.37.112.250/es/test.text即可訪問到

docker安裝RabbitMQ


Producer:消息生產(chǎn)者犁苏,負責生產(chǎn)和發(fā)送消息到Broker硬萍;

Broker:消息處理中心,負責消息存儲围详、確認朴乖、重試等;

Consumer:消息消費中心助赞,負責從Broker中獲取消息并處理

異步性:將耗時的同步任務(wù)通過發(fā)送消息的方式進行異步處理买羞,減少等待時間。

松耦合:不同系統(tǒng)雹食、服務(wù)之間可以通過消息隊列進行通信畜普,不用關(guān)心彼此的實現(xiàn)細節(jié),數(shù)據(jù)格式一致群叶。

分布式:為了防止消息堵塞吃挑,可以對消費者集群進行橫向擴展钝荡,避免單點故障,同樣隊列本身也可以舶衬。

可靠性:將接收到的消息落盤埠通,就算服務(wù)器重啟或者發(fā)生故障,恢復(fù)之后也能重新加載逛犹。

下載并且啟動

docker run -d --name rabbitmq -p 5671:5671 -p 5672:5672 -p 4369:4369 -p 25672:25672 -p 15671:15671 -p 15672:15672 rabbitmq:management

開機自啟動

docker update rabbitmq --restart=always

訪問rabbitmq

192.168.43.128:15672

賬號:guest

密碼:? guest


查看 docker 容器使用的資源(占用CPU,內(nèi)存的情況)

docker stats

docker 安裝elasticsearch

下載鏡像

docker pull elasticsearch:7.4.2

創(chuàng)建掛載目錄

mkdir -p /mydata/elasticsearch/config

mkdir -p /mydata/elasticsearch/data

寫入文件,可被遠程任何機器訪問

echo "http.host: 0.0.0.0" > /mydata/elasticsearch/config/elasticsearch.yml

運行端辱,暴漏兩個端口? 9200 訪問端口 9300 節(jié)點通信端口? 單節(jié)點啟動

docker run --name elasticsearch -p 9200:9200 -p 9300:9300 --privileged=true \

-e ``"discovery.type=single-node"`? `\

-e ES_JAVA_OPTS=``"-Xms64m -Xms128m"`? `\

-``v` `/mydata/elasticsearch/config/elasticsearch``.yml:``/usr/share/elasticsearch/config/elasticsearch``.yml? \

-``v` `/mydata/elasticsearch/data``:``/usr/share/elasticsearch/data`? `\

-``v` `/mydata/elasticsearch/plugins``:``/usr/share/elasticsearch/plugins`? `\

-d elasticsearch:7.4.2

需求給掛載文件夾授予權(quán)限

chmod -R 777 /mydata/elasticsearch

否則沒法啟動

docker start 26baf8009232

設(shè)置開啟自啟動

docker update Id號 --restart=always

如此就可以訪問了,但是虛擬機需要設(shè)置網(wǎng)絡(luò)端口 阿里云服務(wù)器需要設(shè)置 安全組 開發(fā)9200端口

訪問: 虛擬機ip地址加上 9200

http://192.168.56.1:9200/

安裝kibana

下載鏡像

docker pull kibana:7.4.2

# 一定記得改成自己的虛擬機(服務(wù)器地址)

docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.56.1:9200 -p 5601:5601 -d kibana:7.4.2

設(shè)置開啟自啟動

docker update Id號 --restart=always

設(shè)置虛擬機地址映射

訪問 192.168.56.1:5601

需要等一會才能訪問成功


幾個cat命令

GET /_cat/nodes: 查看所有節(jié)點

GET /_cat/health: 查看es健康狀況

GET /_cat/master: 查看主節(jié)點

GET /_cat/indices: 查看所有索引

分詞器 Ik 支持中文分詞

https://gitee.com/jowell-jiawei/elasticsearch-analysis-ik-7.4.2

下載zip直接解壓 放到掛載的plugins文件夾下面

最后重啟Electicsearch

測試如下:

虛擬機平不同外網(wǎng)

1虽画、開啟密碼登錄

vi /etc/ssh/sshd_config

修改 PasswordAuthentication yes

重啟服務(wù) service sshd restart? 這樣就可Xshell登錄了

2舞蔽、修改網(wǎng)卡

cd /etc/sysconfig/network-scripts/

修改eth1

NM_CONTROLLED=yes

BOOTPROTO=none

ONBOOT=yes

IPADDR=192.168.56.1

NETMASK=255.255.255.0

GATEWAY=192.168.56.1

DNS1=114.114.114.114

DNS2=8.8.8.8

DEVICE=eth1

PEERDNS=no

#VAGRANT-END

重啟網(wǎng)卡

service network restart

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市狸捕,隨后出現(xiàn)的幾起案子喷鸽,更是在濱河造成了極大的恐慌,老刑警劉巖灸拍,帶你破解...
    沈念sama閱讀 219,490評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件做祝,死亡現(xiàn)場離奇詭異,居然都是意外死亡鸡岗,警方通過查閱死者的電腦和手機混槐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來轩性,“玉大人声登,你說我怎么就攤上這事〈眨” “怎么了悯嗓?”我有些...
    開封第一講書人閱讀 165,830評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長卸察。 經(jīng)常有香客問我脯厨,道長,這世上最難降的妖魔是什么坑质? 我笑而不...
    開封第一講書人閱讀 58,957評論 1 295
  • 正文 為了忘掉前任合武,我火速辦了婚禮,結(jié)果婚禮上涡扼,老公的妹妹穿的比我還像新娘稼跳。我一直安慰自己,他們只是感情好吃沪,可當我...
    茶點故事閱讀 67,974評論 6 393
  • 文/花漫 我一把揭開白布汤善。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪红淡。 梳的紋絲不亂的頭發(fā)上卸伞,一...
    開封第一講書人閱讀 51,754評論 1 307
  • 那天,我揣著相機與錄音锉屈,去河邊找鬼。 笑死垮耳,一個胖子當著我的面吹牛颈渊,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播终佛,決...
    沈念sama閱讀 40,464評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼俊嗽,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了铃彰?” 一聲冷哼從身側(cè)響起绍豁,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎牙捉,沒想到半個月后竹揍,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,847評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡邪铲,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,995評論 3 338
  • 正文 我和宋清朗相戀三年芬位,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片带到。...
    茶點故事閱讀 40,137評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡昧碉,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出揽惹,到底是詐尸還是另有隱情被饿,我是刑警寧澤,帶...
    沈念sama閱讀 35,819評論 5 346
  • 正文 年R本政府宣布搪搏,位于F島的核電站狭握,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏慕嚷。R本人自食惡果不足惜哥牍,卻給世界環(huán)境...
    茶點故事閱讀 41,482評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望喝检。 院中可真熱鬧嗅辣,春花似錦、人聲如沸挠说。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至蛙奖,卻和暖如春潘酗,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背雁仲。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評論 1 272
  • 我被黑心中介騙來泰國打工仔夺, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人攒砖。 一個月前我還...
    沈念sama閱讀 48,409評論 3 373
  • 正文 我出身青樓缸兔,卻偏偏與公主長得像,于是被迫代替她去往敵國和親吹艇。 傳聞我的和親對象是個殘疾皇子惰蜜,可洞房花燭夜當晚...
    茶點故事閱讀 45,086評論 2 355

推薦閱讀更多精彩內(nèi)容