首先安裝docker
安裝命令如下:安裝
curl -fsSL https://get.docker.com | bash -s docker --mirror aliyun
也可以使用國內(nèi) daocloud 一鍵安裝命令:
curl -sSL https://get.daocloud.io/docker | sh
安裝成功后,輸入docker -v命令即可
Docker version 20.10.6, build 370c289
或者也可以直接輸入docker,報錯(-bash: docker: command not found)則安裝失敗讹堤,否則則安裝成功
systemctl status docker
● docker.service - Docker Application Container Engine
? Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
? Active: inactive (dead)
? ? Docs: https://docs.docker.com
啟動docker:
systemctl start docker
配置docker鏡像
Ubuntu 16.04+、Debian 8+牌捷、CentOS 7+
目前主流 Linux 發(fā)行版均已使用 systemd 進行服務(wù)管理,這里介紹如何在使用 systemd 的 Linux 發(fā)行版中配置鏡像加速器涡驮。
請首先執(zhí)行以下命令暗甥,查看是否在 docker.service 文件中配置過鏡像地址。
systemctl cat docker | grep '\-\-registry\-mirror'
如果該命令有輸出捉捅,那么請執(zhí)行 $ systemctl cat docker 查看 ExecStart= 出現(xiàn)的位置撤防,修改對應(yīng)的文件內(nèi)容去掉 --registry-mirror 參數(shù)及其值,并按接下來的步驟進行配置棒口。
如果以上命令沒有任何輸出寄月,那么就可以在vim? /etc/docker/daemon.json 中寫入如下內(nèi)容(如果文件不存在請新建該文件):
{
? "registry-mirrors": [
? ? "https://hub-mirror.c.163.com",
? ? "https://mirror.baidubce.com"
? ]
}
注意,一定要保證該文件符合 json 規(guī)范无牵,否則 Docker 將不能啟動漾肮。
之后重新啟動服務(wù)。
systemctl daemon-reload
sudo systemctl restart docker
Windows 10
對于使用 Windows 10 的用戶茎毁,在任務(wù)欄托盤 Docker 圖標內(nèi)右鍵菜單選擇 Settings克懊,打開配置窗口后在左側(cè)導(dǎo)航菜單選擇 Docker Engine,在右側(cè)像下邊一樣編輯 json 文件,之后點擊 Apply & Restart 保存后 Docker 就會重啟并應(yīng)用配置的鏡像地址了保檐。
{
? "registry-mirrors": [
? ? "https://hub-mirror.c.163.com",
? ? "https://mirror.baidubce.com"
? ]
}
macOS
對于使用 macOS 的用戶耕蝉,在任務(wù)欄點擊 Docker Desktop 應(yīng)用圖標 -> Perferences崔梗,在左側(cè)導(dǎo)航菜單選擇 Docker Engine夜只,在右側(cè)像下邊一樣編輯 json 文件。修改完成之后蒜魄,點擊 Apply & Restart 按鈕扔亥,Docker 就會重啟并應(yīng)用配置的鏡像地址了。
{
? "registry-mirrors": [
? ? "https://hub-mirror.c.163.com",
? ? "https://mirror.baidubce.com"
? ]
}
檢查加速器是否生效
執(zhí)行
docker info
如果從結(jié)果中看到了如下內(nèi)容谈为,說明配置成功旅挤。
Registry Mirrors:
https://hub-mirror.c.163.com/
使用 Docker 拉取ElasticSearch鏡像
docker pull elasticsearch:7.4.2
查看鏡像 ID
docker images
docker服務(wù)啟動命令
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d --name elasticsearch -p 9200:9200 -p 9300:9300 *****[注:這是要運行的鏡像id]
查看運行日志
docker logs 容器ID
報錯:
ERROR: [2] bootstrap checks failed
[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
[2]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
處理第一個問題:
[1]max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
編輯?/etc/sysctl.conf,追加以下內(nèi)容:
vm.max_map_count=655360
保存后伞鲫,執(zhí)行
sysctl -p
重啟es
docker restart ?容器ID
[2]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
先刪除之前創(chuàng)建的容器
docker rm -f 容器ID
添加-e?"discovery.type=single-node"?
docker?run?-d?-e?ES_JAVA_POTS="-Xms256m?-Xmx256m"??-e?"discovery.type=single-node"?-p?9200:9200?-p?9300:9300?--name? elasticsearch? ***es鏡像ID***
繼續(xù)查看運行l(wèi)ogs
docker logs? 容器ID
驗證運行是否成功
curl localhost:9200
{
? "name" : "28765a4c9e04",
? "cluster_name" : "docker-cluster",
? "cluster_uuid" : "EUK5T7AmSAW-YvCwMU-W-w",
? "version" : {
? ? "number" : "7.4.2",
? ? "build_flavor" : "default",
? ? "build_type" : "docker",
? ? "build_hash" : "2f90bbf7b93631e52bafb59b3b049cb44ec25e96",
? ? "build_date" : "2019-10-28T20:40:44.881551Z",
? ? "build_snapshot" : false,
? ? "lucene_version" : "8.2.0",
? ? "minimum_wire_compatibility_version" : "6.8.0",
? ? "minimum_index_compatibility_version" : "6.0.0-beta1"
? },
? "tagline" : "You Know, for Search"
}
安裝elasticsearch head插件監(jiān)控管理進行可視化管理
拉取鏡像
docker pull tobias74/elasticsearch-head
運行
docker run -d -p 9100:9100 鏡像ID
登陸ip地址:9100端口查看
在這里出現(xiàn)跨域拒絕訪問問題:
解決方式:
進入elasticsearch容器內(nèi)部粘茄,修改配置文件elasticsearch.yml
docker ps -a? #拿到運行容器elasticsearch 的 id
docker exec -it ******(容器id) /bin/bash
cd ./config
在elasticsearch.yml中添加:
http.cors.enabled: true
http.cors.allow-origin: "*"
重啟 elasticsearch容器
docker restart? 容器名
重啟服務(wù)
查看日志和上面一樣
docker logs 容器名
運行成功后,替換IP地址替換localhost
此時運行成功