-
更新数据源
apt-get update
-
安装所需依赖
apt-get -y install apt-transport-https ca-certificates curl software-properties-common
-
安装 GPG 证书
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add - -
新增数据源
add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" -
更新并安装 Docker CE
apt-get update && apt-get install -y docker-ce -
验证
docker version
-
配置加速器
tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://g67vxk7w.mirror.aliyuncs.com"] } EOF
-
重启docker,加载配置
systemctl daemon-reload && systemctl restart docker -
验证
docker info
-
安装docker-compose
curl -L https://github.com/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
-
增加执行权限
chmod +x /usr/local/bin/docker-compose
-
验证
docker-compose version
version: '3.1'
services:
mongo:
image: mongo
container_name: mongo-db
restart: always
ports:
- 27017:27017
volumes:
- ./data:/data/db
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: 19960206
mongo-express:
image: mongo-express
container_name: mongo-express
restart: always
ports:
- 8081:8081
depends_on:
- mongo
environment:
ME_CONFIG_BASICAUTH_USERNAME: express
ME_CONFIG_BASICAUTH_PASSWORD: express
ME_CONFIG_MONGODB_ADMINUSERNAME: root
ME_CONFIG_MONGODB_ADMINPASSWORD: 19960206version: '3.1'
services:
redis:
image: redis
container_name: redis
restart: always
command: redis-server --requirepass 1234567890
volumes:
- ./data:/data
ports:
- 6380:6379version: '3.1'
services:
db:
# 目前 latest 版本为 MySQL8.x
image: mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: 123456
command:
--default-authentication-plugin=mysql_native_password
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
--explicit_defaults_for_timestamp=true
--lower_case_table_names=1
ports:
- 3306:3306
volumes:
- ./data:/var/lib/mysql
# MySQL 的 Web 客户端
adminer:
image: adminer
restart: always
ports:
- 8080:8080version: "3.7"
services:
elasticsearch:
image: "docker.elastic.co/elasticsearch/elasticsearch:7.8.0"
container_name: elasticsearch
restart: always
volumes:
- "elasticsearch:/usr/share/elasticsearch"
environment:
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- "discovery.type=single-node"
ports:
- "9200:9200"
kibana:
image: "docker.elastic.co/kibana/kibana:7.8.0"
container_name: kibana
restart: "always"
environment:
ELASTICSEARCH_HOSTS: http://elasticsearch:9200
ports:
- "5601:5601"
volumes:
elasticsearch:
external: trueversion: "3.9"
services:
nacos:
image: nacos/nacos-server:1.4.2
container_name: nacos-1.4.2
restart: always
env_file:
- ./nacos-standlone-mysql.env
volumes:
- ./logs/:/home/nacos/logs
ports:
- "8848:8848"version: "3.1"
services:
wordpress:
image: "wordpress"
container_name: "wordpress"
restart: "always"
volumes:
- "./data:/var/www/html"
environment:
- WORDPRESS_DB_HOST=db
- WORDPRESS_DB_USER=root
- WORDPRESS_DB_PASSWORD=(mysql)+mysql
- WORDPRESS_DB_NAME=wordpress
ports:
- 80:80
networks:
- service
networks:
service:
external:
name: serviceversion: '3.7'
services:
influxsrv:
image: tutum/influxdb
container_name: influxsrv
restart: always
environment:
ADMIN_USER: root
INFLUXDB_INIT_PWD: root
PRE_CREATE_DB: cadvisor
ports:
- 8083:8083
- 8086:8086
expose:
- 8090
- 8099
volumes:
- ./influxdb:/data
networks:
- icg
cadvisor:
image: google/cadvisor
container_name: cadvisor
restart: always
command:
--storage_driver=influxdb
--storage_driver_db=cadvisor
--storage_driver_host=influxsrv:8086
ports:
- 8082:8080
volumes:
- /:/rootfs:ro
- /var/run:/var/run:rw
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
networks:
- icg
depends_on:
- influxsrv
grafana:
image: grafana/grafana
container_name: grafana
restart: always
ports:
- 8084:3000
environment:
HTTP_USER: admin
HTTP_PASS: admin
INFLUXDB_HOST: influxsrv
INFLUXDB_PORT: 8086
INFLUXDB_NAME: cadvisor
INFLUXDB_USER: root
INFLUXDB_PASS: root
networks:
- icg
depends_on:
- cadvisor
networks:
icg:
external:
name: docker_icg