# stage09-1 **Repository Path**: null_631_9084/stage09-1 ## Basic Information - **Project Name**: stage09-1 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-12-10 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 作业说明 (1)Hot是应用程序(springboot),打成jar包:Hot.jar (2)利用dockerfile将Hot.jar构建成镜像lgedu/hot:1.0 (3)构建Swarm 集群 (4)在 Swarm 集群中使用 compose 文件 (docker-compose.yml) 来配置、启动多个服务 包括: Mysql、Redis以及应用程序Hot ## 作业实现流程 ### 1、构建Spring boot应用 #### 1.1 集成Spring mvc、mysql、redis #### 1.2 提供业务测试接口: ```http /add/{name} : 创建记录,存入记录至mysql,并清空redis缓存 /list : 查看记录,先从redis缓存中获取数据,获取不到再从mysql中获取 ``` ### 2、构建应用镜像 #### 2.1 创建DockerFile ``` FROM java:8 ADD app.jar app.jar RUN bash -c 'touch /app.jar' ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ] ``` #### 2.2 生成镜像 ```shell docker build -t application-docker:v1 . ``` ### 3、构建Docker-Compose ```yml version: "2.0" services: app: image: application-docker:v1 ports: - 18888:8080 redis: image: redis:5.0.9 ports: - 16379:6379 volumes: - /Users/colde/Desktop/local/docker-compose/data/redis/data:/data mysql: restart: always image: mysql:5.7 container_name: mysql57 ports: - 13306:3306 environment: MYSQL_ROOT_PASSWORD: '123123' volumes: - /Users/colde/Desktop/local/docker-compose/data/mysql/db:/var/lib/mysql ``` 启动应用 ```html docker-compose up -d ``` ### 4、测试 创建测试库 ```sql CREATE TABLE `docker` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4; ``` 测试 ```http # 添加数据 http://localhost:8080/add/lisi # 获取数据 http://localhost:8080/list ```