一、前置条件
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
- 更新系统软件包
sudo apt-get update
- 安装必要的依赖包
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
- 添加 Docker 的官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
- 添加 Docker 的 APT 软件仓库
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
- 更新软件包缓存
sudo apt-get update
- 安装 Docker
sudo apt-get install -y docker-ce
- 启动 Docker 服务
sudo systemctl start docker
- 设置 Docker 开机自启动
sudo systemctl enable docker
- 验证 Docker 是否安装成功
sudo docker run hello-world
1.2centos
- 更新系统软件包
sudo yum update -y
- 安装必要的依赖包
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
- 添加 Docker 的软件仓库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
- 安装 Docker
sudo yum install -y docker-ce
- 启动 Docker 服务
sudo systemctl start docker
- 设置 Docker 开机自启动
sudo systemctl enable docker
- 验证 Docker 是否安装成功
sudo docker run hello-world
2、卸载docker
2.1ubuntu
- 停止 Docker 服务
sudo systemctl stop docker
- 卸载 Docker 及其相关依赖
sudo apt-get purge -y docker-ce
sudo apt-get autoremove -y --purge docker-ce
- 删除 Docker 的相关数据
sudo rm -rf /var/lib/docker
2.2centos
- 停止 Docker 服务
sudo systemctl stop docker
- 卸载 Docker 及其相关依赖
sudo yum remove -y docker-ce
- 删除 Docker 的相关数据
sudo rm -rf /var/lib/docker
3、docker-compose安装
Docker Compose 是一个用于定义和运行多容器 Docker 应用的工具,通常与 Docker 一起使用。Docker Compose 并不与 Docker 一起默认安装,需要单独安装。https://github.com/docker/compose/releases
- 下载最新版本的 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
- 赋予可执行权限
下载完成后,需要为 docker-compose 二进制文件赋予可执行权限:
sudo chmod +x /usr/local/bin/docker-compose
- 验证安装
通过运行以下命令来验证 Docker Compose 是否安装成功,以及显示当前安装的版本:
docker-compose --version
如果安装成功,将看到类似以下输出:
docker-compose version 2.22.0, build abcdefg
可以为 Docker Compose 命令启用 Bash 补全,以便在命令行中使用自动补全功能。这一步是可选的,但在经常使用 Docker Compose 时非常方便。
- 下载命令补全脚本
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
- 重新加载 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
其他的可以自行加一下