安裝Docker
MacOS手動下載下傳安裝
安裝桌面版本:https://www.docker.com/products/docker-desktop/
Docker Desktop
選擇對應的版本:
- Intel Chip:Intel晶片
- Apple Chip:最新的Apple晶片
按照步驟安裝即可
配置鏡像加速
由于國内網絡問題,拉取Docker鏡像會比較慢,我們可以通過配置鏡像加速來解決
配置路徑:在工作列點選 Docker for mac 應用圖示 -> Perferences... -> Docker Engine
配置檔案:
{
"features": {
"buildkit": true
},
"experimental": false,
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn/",
"https://hub-mirror.c.163.com/"
]
}
配置完成後,重新開機即可
Docker Compose
Docker Desktop包含了Docker Compose
使用yml來管理多個容器的啟動和關閉
目錄結構:
- docker-es
- docker-compose.yml
- elasticsearch
- elasticsearch.yml
- kibana
- kibana.yml
使用步驟:
- 拉取elasticsearch鏡像
docker network create elastic
docker pull docker.elastic.co/elasticsearch/elasticsearch:7.17.10
docker run --name es01-test --net elastic -p 127.0.0.1:9200:9200 -p 127.0.0.1:9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.17.10
檢視容器内的elasticsearch配置檔案
# 進入容器後開啟一個新的終端,可以在裡面操作
docker exec -it es01-test /bin/bash
# 檢視配置檔案
cat /usr/share/elasticsearch/config/elasticsearch.yml
在docker-es目錄下,建立elasticsearch目錄,複制配置檔案内容,建立elasticsearch.yml
# 自定義elasticsearch配置
cluster.name: "docker-cluster"
network.host: 0.0.0.0
- 拉取kibana鏡像
docker pull docker.elastic.co/kibana/kibana:7.17.10
docker run --name kib01-test --net elastic -p 127.0.0.1:5601:5601 -e "ELASTICSEARCH_HOSTS=http://es01-test:9200" docker.elastic.co/kibana/kibana:7.17.10
檢視容器内的kibana配置檔案
# 進入容器後開啟一個新的終端,可以在裡面操作
docker exec -it kib01-test /bin/bash
# 檢視配置檔案
cat /usr/share/kibana/config/kibana.yml
在docker-es目錄下,建立kibana目錄,複制配置檔案内容,建立kibana.yml
# 自定義kibana配置
server.host: "0.0.0.0"
server.shutdownTimeout: "5s"
elasticsearch.hosts: [ "http://elasticsearch:9200" ]
- 在docker-es目錄下,建立docker-compose.yml,編排好容器的啟動和依賴
docker-compose.yml
version: '3.8'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.17.10
container_name: elasticsearch
volumes:
- ./elasticsearch/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
- ./elasticsearch/data:/usr/share/elasticsearch/data
- ./elasticsearch/log:/usr/share/elasticsearch/log
ports:
- 9200:9200
restart: always
environment:
- xpack.security.enabled=false
- discovery.type=single-node
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
kibana:
depends_on:
- elasticsearch
image: docker.elastic.co/kibana/kibana:7.17.10
container_name: kibana
volumes:
- ./kibana/kibana.yml:/usr/share/kibana/config/kibana.yml
- ./kibana/data:/usr/share/kibana/data
ports:
- 5601:5601
restart: always
environment:
- ELASTICSEARCH_HOSTS=http://elasticsearch:9200
- 在docker-compose.yml目錄下,執行docker-compose up -d,一鍵部署上線。通過http://localhost:5601通路kibana
docker-compose常用指令:
建立所有服務并且啟動服務
# 前台啟動
docker-compose up
# 背景啟動
docker-compose up -d
重新開機服務
docker-compose restart
停止服務
docker-compose stop
再次啟動服務
docker-compose start
停止、删除所有的服務以及網絡、鏡像
docker-compose down