docker部署常见中间件

一、前置条件

1.关闭防火墙

systemctl status firewalld (查看防火墙状态)
systemctl stop firewalld	(停止防火墙)
systemctl disable firewalld(禁止开机启动)

2、docker常用指令

  • 数据太多可以结合 |grep指令来进行过滤 如

    docker images |grep my
    

1. 镜像相关指令

1.1查看本地镜像
docker images

列出本地所有的 Docker 镜像。

1.2搜索镜像
docker search <image_name>

在 Docker Hub 上搜索镜像。

1.3拉取镜像
docker pull <image_name>:<tag>

从 Docker Hub 拉取镜像。如果不指定 tag,默认拉取 latest 版本。

1.4删除镜像
docker rmi <image_name>:<tag>

删除指定的 Docker 镜像。

1.5构建镜像
docker build -t <image_name>:<tag> <path>
docker build -t myImage:1.0 .

从指定路径(通常是包含 Dockerfile 的目录)构建镜像,并命名为 <image_name>:<tag>

2. 容器相关指令

2.1创建并启动容器
docker run [OPTIONS] <image_name> [COMMAND] [ARG...]

使用指定镜像创建并启动容器。

2.2查看运行中的容器
docker ps

列出当前正在运行的容器。

2.3查看所有容器
docker ps -a

列出所有容器,包括未运行的容器。

2.4停止容器
docker stop <container_name_or_id>

停止正在运行的容器。

2.5启动已停止的容器
docker start <container_name_or_id>

启动一个已经停止的容器。

2.6重启容器
docker restart <container_name_or_id>

重启容器。

2.7删除容器
docker rm <container_name_or_id>

删除一个已停止的容器。

2.8查看容器日志
docker logs <container_name_or_id>

查看容器的标准输出和标准错误日志。

2.9进入容器
docker exec -it <container_name_or_id> /bin/bash

进入正在运行的容器的交互式终端。

2.10查看容器内的进程
docker top <container_name_or_id>

显示容器内运行的进程。

2.11查看容器资源使用情况
docker stats <container_name_or_id>

实时显示容器的资源使用情况(CPU、内存、网络等)。

3. 网络相关指令

3.1查看 Docker 网络
docker network ls

列出 Docker 中的所有网络。

3.2创建网络
docker network create <network_name>

创建一个新的网络。

3.3删除网络
docker network rm <network_name>

删除一个 Docker 网络。

3.4连接容器到网络
docker network connect <network_name> <container_name_or_id>

将一个容器连接到指定的网络。

3.5断开容器与网络的连接
docker network disconnect <network_name> <container_name_or_id>

将一个容器从指定网络断开。

4. 卷(Volumes)相关指令

4.1查看卷
docker volume ls

列出所有 Docker 卷。

4.2创建卷
docker volume create <volume_name>

创建一个新的 Docker 卷。

4.3删除卷
docker volume rm <volume_name>

删除一个 Docker 卷。

4.4查看卷详情
docker volume inspect <volume_name>

查看指定卷的详细信息。

5. 系统信息相关指令

5.1查看 Docker 版本
docker --version

显示 Docker 的版本信息。

5.2查看 Docker 系统信息
docker info

显示有关 Docker 安装的详细信息,包括镜像、容器数量和存储驱动等。

5.3查看容器的资源使用历史
docker stats

实时监控所有容器的资源使用情况。

6. 清理系统

6.1删除所有停止的容器
docker container prune

清除所有已停止的容器。

6.2删除未使用的镜像
docker image prune

清理无用的(悬空的)镜像。

6.3删除未使用的卷
docker volume prune

清理无用的卷。

6.4删除未使用的网络
docker network prune

清理无用的网络。

6.5一键清理所有未使用的资源
docker system prune

清理未使用的容器、镜像、卷和网络。

7. 其他实用指令

7.1导出容器为镜像
docker commit <container_name_or_id> <new_image_name>:<tag>

将容器的当前状态保存为一个新的镜像。

7.2导出容器为文件
docker export <container_name_or_id> > <file_name>.tar

导出容器的文件系统为一个 tar 文件。

7.3导入容器文件系统
docker import <file_name>.tar <new_image_name>:<tag>

tar 文件导入镜像。

7.4保存镜像为文件
docker save -o <file_name>.tar <image_name>:<tag>

将镜像保存为一个 tar 文件。

7.5加载镜像文件
docker load -i <file_name>.tar

或者

docker load < <file_name>.tar

tar 文件中加载镜像。

3.docker run参数解析

3.1、基本格式

bash
复制代码
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
  • IMAGE:要运行的Docker镜像的名称。
  • COMMAND [ARG...]:可选。要在容器中运行的命令和参数。如果不指定,默认会运行镜像的默认命令。

3.2、常用的 OPTIONS

1. -d, --detach
  • 描述:以后台模式运行容器(即容器在后台运行,不会锁定当前终端)。

  • 示例:

    docker run -d nginx
    
2. -p, --publish
  • 描述:将容器的端口映射到主机的端口,格式为 主机端口:容器端口

  • 示例:

    docker run -p 8080:80 nginx
    
3. -v, --volume
  • 描述:将主机的目录或文件挂载到容器的目录中,格式为 主机路径:容器路径

  • 示例:

    docker run -v /mydata/nginx/html:/usr/share/nginx/html nginx
    
4. -e, --env
  • 描述:设置环境变量,可以用来传递配置信息给容器中的应用程序。

  • 示例:

    docker run -e MYSQL_ROOT_PASSWORD=my-secret-pw mysql
    
5. --name
  • 描述:为容器指定一个名称。如果未指定,Docker会随机生成一个名称。

  • 示例:

    docker run --name my_nginx nginx
    
6. --rm
  • 描述:容器停止后自动删除容器。适用于一次性任务。

  • 示例:

    docker run --rm busybox echo "Hello World"
    
7. -it
  • 描述-i 表示保持标准输入打开,-t 表示分配一个伪终端。这两个参数常常结合使用,用于交互式容器。

  • 示例:

    docker run -it ubuntu /bin/bash
    
8. --network
  • 描述:指定容器要连接的网络。可以是默认的 bridge 网络,也可以是用户创建的自定义网络。

  • 示例:

    docker run --network my_network nginx
    
9. --restart
  • 描述:设置容器的重启策略。常见选项有:

    • no:默认值,不重启容器。
    • on-failure:仅在容器非正常退出时重启。
    • always:无论退出状态如何,总是重启容器。
    • unless-stopped:除非手动停止,否则总是重启容器。
  • 示例:

    docker run --restart unless-stopped nginx
    
10. -h, --hostname
  • 描述:设置容器的主机名。

  • 示例:

    docker run -h mycontainer nginx
    
11. --cpus
  • 描述:限制容器使用的CPU数量。

  • 示例:

    docker run --cpus="1.5" ubuntu
    
12. --memory
  • 描述:限制容器使用的内存大小。

  • 示例:

    docker run --memory="512m" ubuntu
    
13. -u, --user
  • 描述:以指定的用户或用户ID运行容器中的进程。

  • 示例:

    docker run -u 1000:1000 ubuntu
    
14. --link
  • 描述:连接到另一个容器。这个选项已经过时,建议使用自定义网络代替。

  • 示例:

    docker run --link some-redis:redis nginx
    

示例综合应用

docker run -d -p 8080:80 --name my_nginx -v /mydata/nginx/html:/usr/share/nginx/html -e NGINX_HOST=example.com -e NGINX_PORT=80 nginx
  • -d:后台运行容器。
  • -p 8080:80:将主机的8080端口映射到容器的80端口。
  • --name my_nginx:容器名称为 my_nginx
  • -v /mydata/nginx/html:/usr/share/nginx/html:将主机的 /mydata/nginx/html 目录挂载到容器的 /usr/share/nginx/html 目录。
  • -e NGINX_HOST=example.com-e NGINX_PORT=80:设置环境变量。

二、Docker安装

https://www.docker.com/products/docker-engine

1、安装docker

1.1ubuntu

  1. 更新系统软件包
sudo apt-get update
  1. 安装必要的依赖包
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
  1. 添加 Docker 的官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  1. 添加 Docker 的 APT 软件仓库
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
  1. 更新软件包缓存
sudo apt-get update
  1. 安装 Docker
sudo apt-get install -y docker-ce
  1. 启动 Docker 服务
sudo systemctl start docker
  1. 设置 Docker 开机自启动
sudo systemctl enable docker
  1. 验证 Docker 是否安装成功
sudo docker run hello-world

1.2centos

  1. 更新系统软件包
sudo yum update -y
  1. 安装必要的依赖包
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  1. 添加 Docker 的软件仓库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  1. 安装 Docker
sudo yum install -y docker-ce
  1. 启动 Docker 服务
sudo systemctl start docker
  1. 设置 Docker 开机自启动
sudo systemctl enable docker
  1. 验证 Docker 是否安装成功
sudo docker run hello-world

2、卸载docker

2.1ubuntu

  1. 停止 Docker 服务
sudo systemctl stop docker
  1. 卸载 Docker 及其相关依赖
sudo apt-get purge -y docker-ce
sudo apt-get autoremove -y --purge docker-ce
  1. 删除 Docker 的相关数据
sudo rm -rf /var/lib/docker

2.2centos

  1. 停止 Docker 服务
sudo systemctl stop docker
  1. 卸载 Docker 及其相关依赖
sudo yum remove -y docker-ce
  1. 删除 Docker 的相关数据
sudo rm -rf /var/lib/docker

3、docker-compose安装

Docker Compose 是一个用于定义和运行多容器 Docker 应用的工具,通常与 Docker 一起使用。Docker Compose 并不与 Docker 一起默认安装,需要单独安装。https://github.com/docker/compose/releases

  1. 下载最新版本的 Docker Compose
    首先,您需要确认要安装的 Docker Compose 版本。可以在 Docker Compose 的 GitHub releases 页面找到最新的版本。以下示例以 v2.22.0 版本为例,可以根据需要调整版本号。
sudo curl -L "https://github.com/docker/compose/releases/download/v2.22.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  1. 赋予可执行权限
    下载完成后,需要为 docker-compose 二进制文件赋予可执行权限:
sudo chmod +x /usr/local/bin/docker-compose
  1. 验证安装
    通过运行以下命令来验证 Docker Compose 是否安装成功,以及显示当前安装的版本:
docker-compose --version

如果安装成功,将看到类似以下输出:

docker-compose version 2.22.0, build abcdefg

可以为 Docker Compose 命令启用 Bash 补全,以便在命令行中使用自动补全功能。这一步是可选的,但在经常使用 Docker Compose 时非常方便。

  1. 下载命令补全脚本
sudo curl -L https://raw.githubusercontent.com/docker/compose/$(docker-compose --version | awk '{print $3}')/contrib/completion/bash/docker-compose -o /etc/bash_completion.d/docker-compose
  1. 重新加载 Bash 配置或重启终端
source /etc/bash_completion.d/docker-compose

三、MySQL安装

1、下载镜像文件

docker pull mysql:5.7

2、创建实例并启动

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 

参数说明

  • -p 3306:3306:将容器的3306端口映射到主机的3306端口
  • -v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂在到主机
  • -v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
  • -v /mydata/mysql/data:/var/lib/mysql/:将配置文件夹挂载到主机
  • -e MYSQL_ROOT_PASSWORD=root:初始化root用户的密码

MySQL配置

vim /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

3、通过容器的mysql命令行工具连接

docker exec -it mysql mysql -uroot -proot

4、设置root远程访问

grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
flush privileges;

5、进入容器文件系统

docker exec -it mysql /bin/bash

6、解决MySQL连接慢的问题

在配置文件中加入如下,并重启mysql
[mysqld]
skip-name-resolve

解释:
skip-name-resolve:跳过域名解析

四、Redis安装

1、下载镜像文件

docker pull redis:3.2

2、创建实例并启动

docker run -p 6379:6379 --name redis -v /mydata/redis/data:/data -d redis:3.2 redis-server --appendonly yes

3、使用redis镜像执行redis-cli命令连接

docker exec -it redis redis-cli

五、Nginx安装

1、下载镜像文件

docker pull nginx:1.10

2、创建实例并启动

docker run -p 80:80 --name nginx \
-v /mydata/nginx/html:/usr/share/nginx/html \
-v /mydata/nginx/logs:/var/log/nginx \
-d nginx:1.10
docker run -p 80:80 --name nginx  -d nginx:1.10

3、修改nginx配置

1.将容器内的配置文件拷贝到当前目录:

docker container cp nginx:/etc/nginx .

2.修改文件名称:

mv nginx conf
把这个conf移动到/mydata/nginx下

3.终止容器:

docker stop nginx

4.执行命令删除原容器:

docker ps
docker rm $ContainerId

5.执行以下命令:

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

六、Rabbitmq安装

1、下载镜像文件

docker pull rabbitmq:management

2、创建实例并启动

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

注:
4369 – erlang发现口
5672 --client端通信口

15672 – 管理界面ui端口
25672 – server间内部通信口

3、测试

在web浏览器中输入地址:http://虚拟机ip:15672/
输入默认账号: guest 密码: guest

七、Mongodb安装

1、下载镜像文件

docker pull mongo:3.2

2、创建实例并运行

docker run -p 27017:27017 --name mongo -v /mydata/mongo/db:/data/db -d mongo:3.2

3、使用mongo命令进入容器

docker exec -it mongo mongo

4、安装mongo客户端

https://robomongo.org/
Robo 3T

八、ElasticSearch+Logstash+Kibana安装

1、下载镜像文件

docker pull elasticsearch:5.6.11
docker pull kibana:5.6.11
docker pull logstash:5.6.15

2、创建实例

1、ElasticSearch

mkdir -p /mydata/elasticsearch/config
mkdir -p /mydata/elasticsearch/data
echo "http.host: 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml

docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms256m -Xmx256m" \
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data -d elasticsearch:5.6.11

特别注意:
-e ES_JAVA_OPTS=“-Xms256m -Xmx256m” \ 测试环境下,设置ES的初始内存和最大内存,否则导致过大启动不了ES

2、Kibana

docker run --name kibana -e ELASTICSEARCH_URL=http://192.168.159.130:9200 -p 5601:5601 \
-d kibana:5.6.11

3、Logstash

1)、在mydata/logstash中创建logstash.conf文件:文件内容如下
input {
    tcp {
        port => 4560
        codec => json_lines
    }
}
output{
  elasticsearch { 
	hosts => ["192.168.159.130:9200"] 
	index => "applog"
	}
  stdout { codec => rubydebug }
}

注意:
hosts一定不要写127或者localhost;这样docker容器内部127没有es实例,连不上

docker run -d -p 4560:4560 \
-v /mydata/logstash/logstash.conf:/etc/logstash.conf \
--link elasticsearch:elasticsearch \
--name logstash logstash:5.6.15 \
logstash -f /etc/logstash.conf

安装插件:
https://github.com/logstash-plugins

进入容器内容

docker exec –it logstash /bin/bash 
cd /usr/share/logstash/bin 

(可以whereis logstash找到这个位置)

logstash-plugin install logstash-codec-json_lines

九、Zookeeper安装

1、下载Zookeeper镜像

docker pull wurstmeister/zookeeper

2、启动容器并添加映射

docker run -d --name zookeeper \
  -p 2181:2181 \
  -v /mydata/zookeeper/data:/data \
  -v /mydata/zookeeper/datalog:/datalog \
  wurstmeister/zookeeper:latest

3、idea安装zk插件

idea提供了一个Zookeeper插件,以供连接Zookeeper服务中心和查看内容
打开idea –》 Settings -》Plugins,搜索Zoo进行下载安装

十、Kafka安装

1、下载kafka镜像

docker pull kafka

2、启动容器并添加映射

docker run -d --name kafka \
  -p 9092:9092 \
  -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092 \
  -e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 \
  -v /mydata/kafka/logs:/kafka/logs \
  wurstmeister/kafka:latest

十一、RocketMQ安装

1、拉取镜像

docker pull apacherocketmq/rocketmq:4.9.2

2、启动NameServer

docker run -d --name rocketmq-namesrv \
  -p 9876:9876 \
  -v /mydata/rocketmq/namesrv/logs:/home/rocketmq/logs \
  -v /mydata/rocketmq/namesrv/store:/home/rocketmq/store \
  apacherocketmq/rocketmq:4.9.2 \
  sh mqnamesrv

3、启动Broker

docker run -d --name rocketmq-broker \
  -p 10911:10911 -p 10909:10909 \
  -e "NAMESRV_ADDR=rocketmq-namesrv:9876" \
  -v /mydata/rocketmq/broker/logs:/home/rocketmq/logs \
  -v /mydata/rocketmq/broker/store:/home/rocketmq/store \
  apacherocketmq/rocketmq:4.9.2 \
  sh mqbroker

十二、nacos安装

1、拉取镜像

docker pull nacos/nacos-server:latest

2、单机部署

docker run -d --name nacos-server \
  -e MODE=standalone \
  -p 8848:8848 \
  -p 9848:9848 \
  -v /mydata/nacos/logs:/home/nacos/logs \
  -v /mydata/nacos/data:/home/nacos/data \
  nacos/nacos-server:latest

3、集群部署

例:3台服务,依次执行命令如下

# Nacos Server 1
docker run -d --name nacos-server-1 \
  -e MODE=cluster \
  -e NACOS_SERVERS=nacos-server-1:8848 nacos-server-2:8848 nacos-server-3:8848 \
  -p 8848:8848 \
  -v /mydata/nacos/server1/logs:/home/nacos/logs \
  -v /mydata/nacos/server1/data:/home/nacos/data \
  nacos/nacos-server:latest

# Nacos Server 2
docker run -d --name nacos-server-2 \
  -e MODE=cluster \
  -e NACOS_SERVERS=nacos-server-1:8848 nacos-server-2:8848 nacos-server-3:8848 \
  -p 8849:8848 \
  -v /mydata/nacos/server2/logs:/home/nacos/logs \
  -v /mydata/nacos/server2/data:/home/nacos/data \
  nacos/nacos-server:latest

# Nacos Server 3
docker run -d --name nacos-server-3 \
  -e MODE=cluster \
  -e NACOS_SERVERS=nacos-server-1:8848 nacos-server-2:8848 nacos-server-3:8848 \
  -p 8850:8848 \
  -v /mydata/nacos/server3/logs:/home/nacos/logs \
  -v /mydata/nacos/server3/data:/home/nacos/data \
  nacos/nacos-server:latest

十三、Sentinel Dashboard安装

1、拉取镜像

docker pull bladex/sentinel-dashboard:latest

2、部署

docker run -d --name sentinel-dashboard \
  -p 8080:8080 \
  bladex/sentinel-dashboard:latest
docker run -d --name sentinel-dashboard \
  -p 8080:8080 \
  bladex/sentinel-dashboard:latest

十四、Senta Server安装

1、拉取镜像

docker pull senta/senta-server:latest

2、部署

docker run -d --name senta-server \
  -p 8000:8000 \
  -v /mydata/senta-server/data:/data \
  -v /mydata/senta-server/config:/config \
  senta/senta-server:latest

十五、neo4j安装

1、拉取镜像

docker  pull neo4j:latest

2.部署

docker run -d --name neo4j \
  -p 7474:7474 -p 7687:7687 \
  -e NEO4J_AUTH=neo4j/testpassword \
  -v /mydata/neo4j/data:/data \
  -v /mydata/neo4j/logs:/logs \
  -v /mydata/neo4j/import:/var/lib/neo4j/import \
  -v /mydata/neo4j/plugins:/plugins \
  neo4j:latest

参数解释:
  • 端口映射:
    • 7474: Web界面和HTTP API访问的默认端口。
    • 7687: Bolt协议的默认端口,用于Neo4j的图数据库连接。
  • 环境变量:
    • NEO4J_AUTH=neo4j/testpassword: 设置Neo4j的初始用户名(neo4j)和密码(testpassword),可以根据需求更改。
  • 持久化目录:
    • /mydata/neo4j/data: 持久化数据库数据。
    • /mydata/neo4j/logs: 持久化日志文件。
    • /mydata/neo4j/import: 用于导入的默认文件存储位置。
    • /mydata/neo4j/plugins: 用于Neo4j插件的存储位置。

十六、minio安装

1、拉取镜像

docker pull    minio/minio:latest

2.部署

docker run -d --name minio \
  -p 9000:9000 \
  -p 9001:9001 \
  -e "MINIO_ROOT_USER=minioadmin" \
  -e "MINIO_ROOT_PASSWORD=minioadminpassword" \
  -v /mydata/minio/data:/data \
  -v /mydata/minio/config:/root/.minio \
  minio/minio server /data --console-address ":9001"

参数解释:
  • 端口映射:
    • 9000: MinIO的API端口,主要用于S3兼容的对象存储操作。
    • 9001: MinIO的管理控制台端口。
  • 环境变量:
    • MINIO_ROOT_USER=minioadmin: MinIO的管理员用户名。
    • MINIO_ROOT_PASSWORD=minioadminpassword: MinIO的管理员密码。
  • 持久化目录:
    • /mydata/minio/data: 持久化MinIO的数据。
    • /mydata/minio/config: 持久化MinIO的配置文件和密钥。

十七、Apollo安装(携程)

https://github.com/ctripcorp/apollo

1、下载镜像(非官方)

https://hub.docker.com/r/idoop/docker-apollo

docker pull idoop/docker-apollo 

2、配置数据库

https://github.com/ctripcorp/apollo/wiki/分布式部署指南#21-创建数据库

1)、创建ApolloPortalDB 并导入如下sql

https://github.com/ctripcorp/apollo/blob/master/scripts/db/migration/portaldb/V1.0.0__initialization.sql 

2)、创建ApolloConfigDBDev 并导入如下sql

https://github.com/ctripcorp/apollo/blob/master/scripts/db/migration/configdb/V1.0.0__initialization.sql

3、使用 Docker Compose 启动

1、创建 docker-compose.yaml 文件
version: '2'
services:
  apollo:
    image: idoop/docker-apollo:latest
    # portal若出现504错误,则将网络模式改为host. host模式下如果想改端口,参考下方修改端口的环境变量
network_mode: "host"
# ports:
 # - 8070:8070
    volumes:
      # 如果需要查看日志,挂载容器中的/opt路径出来即可.
      - ./logs:/opt
      # 如果portal需要开启ldap或ad域验证,须挂载此ldap配置文件
      #  - ./application-ldap.yml:/apollo-portal/config/application-ldap.yml:ro
    environment:
      # 开启Portal,默认端口: 8070
      PORTAL_DB: jdbc:mysql://192.168.159.200:3306/ApolloPortalDB?characterEncoding=utf8
      PORTAL_DB_USER: root
      PORTAL_DB_PWD: root
      # 如果portal需要开启ldap或ad域验证,须设置该环境变量为TRUE
      #PORTAL_LDAP: "TRUE"

      # 开启dev环境, 默认端口: config 8080, admin 8090
      DEV_DB: jdbc:mysql:// 192.168.159.200:3306/ApolloConfigDB?characterEncoding=utf8
      DEV_DB_USER: root
      DEV_DB_PWD: root

      # 开启fat环境, 默认端口: config 8081, admin 8091
      # FAT_DB: jdbc:mysql://192.168.1.28:3306/ApolloConfigDBFat?characterEncoding=utf8
      # FAT_DB_USER: root
      # FAT_DB_PWD: toor
      # 可修改端口.
      DEV_CONFIG_PORT: 8050
      DEV_ADMIN_PORT: 8051

      # 指定远程uat地址
      #UAT_URL: http://192.168.1.2:8080

      # 指定远程pro地址
      #PRO_URL: http://www.example.com:8080

整理可用的配置如下

version: '2'
services:
  apollo:
    image: idoop/docker-apollo:latest
    network_mode: "host"
    volumes:
      - ./logs:/opt
    environment:
      PORTAL_DB: jdbc:mysql://192.168.159.200:3306/ApolloPortalDB?characterEncoding=utf8
      PORTAL_DB_USER: root
      PORTAL_DB_PWD: root
          
          
      DEV_DB: jdbc:mysql://192.168.159.200:3306/ApolloConfigDB?characterEncoding=utf8
      DEV_DB_USER: root
      DEV_DB_PWD: root
2、启动服务
docker-compose up –d
3、如果启动出错,查看容器日志
docker logs 容器id
4、访问apollo

http://192.168.159.200:8070
账号 apollo 密码 admin

附加:Docker容器开机自启

docker update --restart=always xxx

docker update --restart=always mysql
docker update --restart=always mongo
docker update --restart=always rabbitmq
docker update --restart=always elasticsearch
docker update --restart=always kibana
docker update --restart=always logstash
docker update --restart=always nginx
docker update --restart=always redis
docker update --restart=always zookeeper
docker update --restart=always opt_apollo_1

其他的可以自行加一下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值