CentOS安裝Docker
1.1.卸載(可選)
如果之前安裝過舊版本的Docker,可以使用下面命令卸載:
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine \
docker-ce
1.2.安裝docker
首先需要大家虛擬機聯(lián)網(wǎng),安裝yum工具
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2 --skip-broken
然后更新本地鏡像源:
#設(shè)置docker鏡像源
yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
yum makecache fast
然后輸入命令:
yum install -y docker-ce
docker-ce為社區(qū)免費版本。稍等片刻,docker即可安裝成功。
1.3.啟動docker
Docker應(yīng)用需要用到各種端口,逐一去修改防火墻設(shè)置。非常麻煩,因此建議大家直接關(guān)閉防火墻!
啟動docker前,一定要關(guān)閉防火墻后??!
啟動docker前,一定要關(guān)閉防火墻后?。?/p>
啟動docker前,一定要關(guān)閉防火墻后!!
# 關(guān)閉
systemctl stop firewalld
# 禁止開機啟動防火墻
systemctl disable firewalld
通過命令啟動docker:
systemctl start docker # 啟動docker服務(wù)
systemctl stop docker # 停止docker服務(wù)
systemctl restart docker # 重啟docker服務(wù)
然后輸入命令,可以查看docker版本:
docker -v
1.4.配置鏡像加速
docker官方鏡像倉庫網(wǎng)速較差,我們需要設(shè)置國內(nèi)鏡像服務(wù):
參考阿里云的鏡像加速文檔:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
1.5 docker 常用命令
啟動
docker:systemctl start docker
停止
docker:systemctl stop docker
重啟
docker:systemctl restart docker
查看docker狀態(tài):
systemctl status docker
設(shè)置開啟自啟動:
system enable docker
1.6 docker 鏡像常用命令
鏡像可以理解為要安裝操作的軟件包;
1.查看鏡像
docker images
docker images -q #查看所有鏡像的id
2.搜索鏡像
docker search 鏡像名稱 # 如 docker search redis
3.拉取鏡像
docker pull 鏡像名稱 #如 docker pull redis ;(不寫版本號,默認(rèn)為lastest)
下載具體的版本的鏡像,如: docker pull mysql:5.7.29
4.刪除鏡像
docker rmi 鏡像的id
1.7 docker 的容器命令
1.查看docker 容器的進程命令
docker ps
查看所有容器的進程
docker ps -a
2.關(guān)閉docker容器
docker stop 容器id或者容器名稱
3.刪除容器
docker rm 容器id或者容器名稱
4.啟動容器
docker start 容器id或者容器名稱
Docker安裝 Mysql 8.0.28
一.拉取docker鏡像
1.查看可用的Mysql鏡像版本
https://hub.docker.com/search?q=mysql&type=image
官網(wǎng)查看可以使用的mysql版本:
2.拉取Mysql鏡像版本
以8.0版本為例,再裝有docker的環(huán)境下(這里是CentOS 7)輸入拉取命令:
docker pull mysql:8.0.28
然后開始拉取鏡像,拉取完成后,輸入命令:
docker images
二.啟動Mysql鏡像
docker run -itd --name mysql-8 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0.28
參數(shù)說明:
–name mysql-8:所建容器的名稱
-p 3306:3306 :映射容器服務(wù)的 3306 端口到宿主機的 3306 端口,外部主機可以直接通過 宿主機ip:3306 訪問到 MySQL 的服務(wù)。
MYSQL_ROOT_PASSWORD=123456:設(shè)置 MySQL 服務(wù) root 用戶的密碼
mysql:8.0.28:使用的鏡像,即鏡像名:tag
設(shè)置啟動docker時,mysql自啟動
docker update mysql --restart=always
Docker安裝 rabbitmq 及使用
下載鏡像
docker pull rabbitmq:management
啟動容器
docker run -d --hostname localhost --name rabbitmq -p 15672:15672 -p 5672:5672 rabbitmq:management
設(shè)置rabbitmq隨docker自動啟動
docker update rabbitmq --restart=always
訪問RabbitMQ Management
http://ip:15672
賬戶密碼默認(rèn):guest
Docker安裝 Redis
1.下載redis鏡像
docker pull redis:7.0.4
使用docker images命令查看當(dāng)前所有的docker鏡像
這說明下載redis鏡像成功的了
下一步就是使用run命令創(chuàng)建并啟動鏡像,但在啟動鏡像之前,我們需要去官網(wǎng)下載redis的配置文件redis.conf文件。注意不同版本的redis配置文件內(nèi)容不一樣,要下載對應(yīng)版本的redis配置文件
2.自行創(chuàng)建一個redis.conf文件,將官網(wǎng)的redis.conf內(nèi)容復(fù)制進去即可,然后修改一下配置文件內(nèi)容
-
將appendonly持久化設(shè)置為yes
-
將bind注釋掉,否則只能本機訪問redis
-
設(shè)置requirepass密碼
如此一來,redis.conf就設(shè)置好了
3.此時在Linux上創(chuàng)建一個/mydata/redis文件夾去存放redis的配置文件和持久化數(shù)據(jù)。
mkdir -p /mydata/redis/conf
mkdir -p /mydata/redis/data
把redis.conf放在/mydata/redis/conf目錄下
4.使用run命令創(chuàng)建并啟動redis容器
docker run \
-p 6379:6379 \
--name redis \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-v /mydata/redis/data:/data \
--restart=always \
-d redis:7.0.4 redis-server /etc/redis/redis.conf
run命令解釋:
docker run \
-p 6379:6379 \ docker與宿主機的端口映射
--name redis \ redis容器的名字
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \ 掛載redis.conf文件
-v /mydata/redis/data:/data \ 掛在redis的持久化數(shù)據(jù)
--restart=always \ 設(shè)置redis容器隨docker啟動而自啟動
-d redis:7.0.4 redis-server /etc/redis/redis.conf 指定redis在docker中的配置文件路徑,后臺啟動redis
測試進入docker redis 命令行模式
docker exec -it redis redis-cli
auth 密碼
Docker安裝 elasticsearch
1.部署單點es
1.1.創(chuàng)建網(wǎng)絡(luò)
因為我們還需要部署kibana容器,因此需要讓es和kibana容器互聯(lián)。這里先創(chuàng)建一個網(wǎng)絡(luò):
docker network create es-net
1.2.加載鏡像
這里我們采用elasticsearch的7.12.1版本的鏡像,這個鏡像體積非常大,接近1G。不建議大家自己pull。
課前資料提供了鏡像的tar包:
大家將其上傳到虛擬機中,然后運行命令加載即可:
# 導(dǎo)入數(shù)據(jù)
docker load -i es.tar
同理還有kibana
的tar包也需要這樣做。
1.3.運行
運行docker命令,部署單點es:
docker run -d \
--name es \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
-e "discovery.type=single-node" \
-v es-data:/usr/share/elasticsearch/data \
-v es-plugins:/usr/share/elasticsearch/plugins \
--privileged \
--network es-net \
-p 9200:9200 \
-p 9300:9300 \
--restart=always \
elasticsearch:7.12.1
命令解釋:
-
-e "cluster.name=es-docker-cluster"
:設(shè)置集群名稱 -
-e "http.host=0.0.0.0"
:監(jiān)聽的地址,可以外網(wǎng)訪問 -
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m"
:內(nèi)存大小 -
-e "discovery.type=single-node"
:非集群模式 -
-v es-data:/usr/share/elasticsearch/data
:掛載邏輯卷,綁定es的數(shù)據(jù)目錄 -
-v es-logs:/usr/share/elasticsearch/logs
:掛載邏輯卷,綁定es的日志目錄 -
-v es-plugins:/usr/share/elasticsearch/plugins
:掛載邏輯卷,綁定es的插件目錄 -
--privileged
:授予邏輯卷訪問權(quán) -
--network es-net
:加入一個名為es-net的網(wǎng)絡(luò)中 -
-p 9200:9200
:端口映射配置
在瀏覽器中輸入:http://ip:9200 即可看到elasticsearch的響應(yīng)結(jié)果:
2.部署kibana
kibana可以給我們提供一個elasticsearch的可視化界面,便于我們學(xué)習(xí)。
2.1.部署
運行docker命令,部署kibana
docker run -d \
--name kibana \
-e ELASTICSEARCH_HOSTS=http://es:9200 \
--network=es-net \
-p 5601:5601 \
--restart=always \
kibana:7.12.1
-
--network es-net
:加入一個名為es-net的網(wǎng)絡(luò)中,與elasticsearch在同一個網(wǎng)絡(luò)中 -
-e ELASTICSEARCH_HOSTS=http://es:9200"
:設(shè)置elasticsearch的地址,因為kibana已經(jīng)與elasticsearch在一個網(wǎng)絡(luò),因此可以用容器名直接訪問elasticsearch -
-p 5601:5601
:端口映射配置
kibana啟動一般比較慢,需要多等待一會,可以通過命令:
docker logs -f kibana
查看運行日志,當(dāng)查看到下面的日志,說明成功:
此時,在瀏覽器輸入地址訪問:http://192.168.150.101:5601,即可看到結(jié)果
2.2.DevTools
kibana中提供了一個DevTools界面:
這個界面中可以編寫DSL來操作elasticsearch。并且對DSL語句有自動補全功能。
3.安裝IK分詞器
3.1.在線安裝ik插件(較慢)
# 進入容器內(nèi)部
docker exec -it elasticsearch /bin/bash
# 在線下載并安裝
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.12.1/elasticsearch-analysis-ik-7.12.1.zip
#退出
exit
#重啟容器
docker restart elasticsearch
3.2.離線安裝ik插件(推薦)
1)查看數(shù)據(jù)卷目錄
安裝插件需要知道elasticsearch的plugins目錄位置,而我們用了數(shù)據(jù)卷掛載,因此需要查看elasticsearch的數(shù)據(jù)卷目錄,通過下面命令查看:
docker volume inspect es-plugins
顯示結(jié)果:
[
{
"CreatedAt": "2022-05-06T10:06:34+08:00",
"Driver": "local",
"Labels": null,
"Mountpoint": "/var/lib/docker/volumes/es-plugins/_data",
"Name": "es-plugins",
"Options": null,
"Scope": "local"
}
]
說明plugins目錄被掛載到了:/var/lib/docker/volumes/es-plugins/_data
這個目錄中。
2)解壓縮分詞器安裝包
下面我們需要把課前資料中的ik分詞器解壓縮,重命名為ik
3)上傳到es容器的插件數(shù)據(jù)卷中
也就是/var/lib/docker/volumes/es-plugins/_data
:
4)重啟容器
# 4、重啟容器
docker restart es
# 查看es日志
docker logs -f es
5)測試:
IK分詞器包含兩種模式:
-
ik_smart
:最少切分 -
ik_max_word
:最細切分
GET /_analyze
{
"analyzer": "ik_max_word",
"text": ""
}
結(jié)果:
{
"tokens" : [
{
"token" : "",
"start_offset" : 5,
"end_offset" : 7,
"type" : "CN_WORD",
"position" : 4
},
{
"token" : "",
"start_offset" : 7,
"end_offset" : 11,
"type" : "ENGLISH",
"position" : 5
},
{
"token" : "",
"start_offset" : 11,
"end_offset" : 14,
"type" : "CN_WORD",
"position" : 6
},
{
"token" : "",
"start_offset" : 11,
"end_offset" : 13,
"type" : "CN_WORD",
"position" : 7
},
{
"token" : "",
"start_offset" : 13,
"end_offset" : 14,
"type" : "CN_CHAR",
"position" : 8
}
]
}
3.3 擴展詞詞典
隨著互聯(lián)網(wǎng)的發(fā)展,“造詞運動”也越發(fā)的頻繁。出現(xiàn)了很多新的詞語,在原有的詞匯列表中并不存在。比如:“奧力給”,“傳智播客” 等。
所以我們的詞匯也需要不斷的更新,IK分詞器提供了擴展詞匯的功能。
1)打開IK分詞器config目錄:
2)在IKAnalyzer.cfg.xml配置文件內(nèi)容添加:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>IK Analyzer 擴展配置</comment>
<!--用戶可以在這里配置自己的擴展字典 *** 添加擴展詞典-->
<entry key="ext_dict">ext.dic</entry>
</properties>
3)新建一個 ext.dic,可以參考config目錄下復(fù)制一個配置文件進行修改
傳智播客
奧力給
4)重啟elasticsearch
docker restart es
# 查看 日志
docker logs -f elasticsearch
日志中已經(jīng)成功加載ext.dic配置文件
5)測試效果:文章來源:http://www.zghlxwxcb.cn/news/detail-766465.html
GET /_analyze
{
"analyzer": "ik_max_word",
"text": "!"
}
注意當(dāng)前文件的編碼必須是 UTF-8 格式,嚴(yán)禁使用Windows記事本編輯
3.4 停用詞詞典
在互聯(lián)網(wǎng)項目中,在網(wǎng)絡(luò)間傳輸?shù)乃俣群芸?,所以很多語言是不允許在網(wǎng)絡(luò)上傳遞的,如:關(guān)于宗教、政治等敏感詞語,那么我們在搜索時也應(yīng)該忽略當(dāng)前詞匯。
IK分詞器也提供了強大的停用詞功能,讓我們在索引時就直接忽略當(dāng)前的停用詞匯表中的內(nèi)容。
1)IKAnalyzer.cfg.xml配置文件內(nèi)容添加:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>IK Analyzer 擴展配置</comment>
<!--用戶可以在這里配置自己的擴展字典-->
<entry key="ext_dict">ext.dic</entry>
<!--用戶可以在這里配置自己的擴展停止詞字典 *** 添加停用詞詞典-->
<entry key="ext_stopwords">stopword.dic</entry>
</properties>
3)在 stopword.dic 添加停用詞
客戶端
4)重啟elasticsearch
# 重啟服務(wù)
docker restart elasticsearch
docker restart kibana
# 查看 日志
docker logs -f elasticsearch
日志中已經(jīng)成功加載stopword.dic配置文件
5)測試效果:
GET /_analyze
{
"analyzer": "ik_max_word",
"text": ""
}
注意當(dāng)前文件的編碼必須是 UTF-8 格式,嚴(yán)禁使用Windows記事本編輯文章來源地址http://www.zghlxwxcb.cn/news/detail-766465.html
到了這里,關(guān)于Docker 容器命令 和安裝各種鏡像環(huán)境的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!