ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
#### 使用 Compose 大致有三个步骤 * 使用 Dockerfile(或其他方式)定义应用程序环境,以便在任何地方重现该环境。 * 在 docker-compose.yml 文件中定义组成应用程序的服务,以便各个服务在一个隔离的环境中一起运行。 * 运行 docker-compose up 命令,启动并运行整个应用程序。 上一节实验我们通过 Docker 运行了 Eureka Server,不过运行的时候采用了`docker run`的方式。那我们这次就拿上一节的 Docker 镜像并通过`Compose`来运行。 * 将上一节实验源码拷贝过来 ~~~bash wget https://labfile.oss.aliyuncs.com/courses/1360/microservice-eureka-server-12.zip unzip microservice-eureka-server-12.zip cd microservice-eureka-server ~~~ * 在项目根目录添加`docker-compose.yml`文件 ~~~yml version: '3.1' # 表示该docker-compose.yml文件使用的是Version 3.1 文件格式 services: eureka-server: # 指定docker容器名称 image: spring-cloud-eureka-server:0.0.1-SNAPSHOT #指定镜像名称,这里采用上一步构建出来的镜像。 ports: - 8761:8761 # 指定端口映射,类似docker run的-p选项,注意使用字符串形式 ~~~ * maven 构建项目和 Docker 镜像 ~~~bash mvn clean package -DskipTests && mvn dockerfile:build ~~~ 你也可以通过`docker images`指令查看是否有一个名称为`spring-cloud-eureka-server:0.0.1-SNAPSHOT`的镜像存在。 * compose 运行 ~~~bash docker-compose up ~~~ 控制台会输出如下信息: ~~~bash eureka-server_1 | 2019-06-09 16:04:47.565 INFO 1 --- [ main] o.s.c.support.DefaultLifecycleProcessor : Starting beans in phase 0 eureka-server_1 | 2019-06-09 16:04:47.576 INFO 1 --- [ main] o.s.c.n.e.s.EurekaServiceRegistry : Registering application UNKNOWN with eureka with status UP eureka-server_1 | 2019-06-09 16:04:47.583 INFO 1 --- [ Thread-13] o.s.c.n.e.server.EurekaServerBootstrap : Setting the eureka configuration.. eureka-server_1 | 2019-06-09 16:04:47.590 INFO 1 --- [ Thread-13] o.s.c.n.e.server.EurekaServerBootstrap : Eureka data center value eureka.datacenter is not set, defaulting to default eureka-server_1 | 2019-06-09 16:04:47.597 INFO 1 --- [ Thread-13] o.s.c.n.e.server.EurekaServerBootstrap : Eureka environment value eureka.environment is not set, defaulting to test eureka-server_1 | 2019-06-09 16:04:47.698 INFO 1 --- [ Thread-13] o.s.c.n.e.server.EurekaServerBootstrap : isAws returned false eureka-server_1 | 2019-06-09 16:04:47.700 INFO 1 --- [ Thread-13] o.s.c.n.e.server.EurekaServerBootstrap : Initialized server context eureka-server_1 | 2019-06-09 16:04:47.700 INFO 1 --- [ Thread-13] c.n.e.r.PeerAwareInstanceRegistryImpl : Got 1 instances from neighboring DS node eureka-server_1 | 2019-06-09 16:04:47.701 INFO 1 --- [ Thread-13] c.n.e.r.PeerAwareInstanceRegistryImpl : Renew threshold is: 1 eureka-server_1 | 2019-06-09 16:04:47.702 INFO 1 --- [ Thread-13] c.n.e.r.PeerAwareInstanceRegistryImpl : Changing status to UP eureka-server_1 | 2019-06-09 16:04:47.785 INFO 1 --- [ Thread-13] e.s.EurekaServerInitializerConfiguration : Started Eureka Server eureka-server_1 | 2019-06-09 16:04:47.791 INFO 1 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8761 (http) with context path '' eureka-server_1 | 2019-06-09 16:04:47.796 INFO 1 --- [ main] .s.c.n.e.s.EurekaAutoServiceRegistration : Updating port to 8761 eureka-server_1 | 2019-06-09 16:04:47.801 INFO 1 --- [ main] .c.m.MicroserviceEurekaServerApplication : Started MicroserviceEurekaServerApplication in 19.633 seconds (JVM running for 21.718) eureka-server_1 | 2019-06-09 16:05:47.717 INFO 1 --- [a-EvictionTimer] c.n.e.registry.AbstractInstanceRegistry : Running the evict task with compensationTime 0ms eureka-server_1 | 2019-06-09 16:06:47.717 INFO 1 --- [a-EvictionTimer] c.n.e.registry.AbstractInstanceRegistry : Running the evict task with compensationTime 68ms ~~~ 然后访问浏览器`http://localhost:8761`: ![](https://img.kancloud.cn/7e/8d/7e8d68a49743391c22fd97c911cbbd59_2814x1194.png)