docker compose微服务实战
1、编写代码构建打包
1.1、下载jar包
1 2 3 | #从百度云下载jar包 链接:https: //pan .baidu.com /s/1ewKdyZpZJq6oGEZSZsrY_w 提取码:csie |
1.2、上传到Linux服务器/mycompose目录下
1.3、编写Dockerfile文档
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | vi Dockerfile # 基础镜像使用java FROM java:8 # 作者 MAINTAINER sheyu # VOLUME 指定临时文件目录为/tmp,在主机/var/lib/docker目录下创建了一个临时文件并链接到容器的/tmp VOLUME /tmp # 将jar包添加到容器中并更名为sheyu_docker.jar ADD docker_boot-0.0.1-SNAPSHOT.jar sheyu_docker.jar # 运行jar包 RUN bash -c 'touch /sheyu_docker.jar' ENTRYPOINT [ "java" , "-jar" , "/sheyu_docker.jar" ] #暴露6001端口作为微服务 EXPOSE 6001 |
1.4、构建镜像
1 2 | #构建镜像 docker build -t docker_compose:v2.0 . |
2、编写docker-compose.yml文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 | #编写docker-compose.yml文件 vi docker-compose.yml version: "3" services: microService: image: docker_compose:v2.0 container_name: ms01 ports: - "6001:6001" volumes: - /app/microService : /data networks: - atguigu_net depends_on: - redis - mysql redis: image: redis:6.0.8 ports: - "6379:6379" volumes: - /app/redis/redis .conf: /etc/redis/redis .conf - /app/redis/data : /data networks: - atguigu_net command : redis-server /etc/redis/redis .conf mysql: image: mysql:5.7 environment: MYSQL_ROOT_PASSWORD: '123456' MYSQL_ALLOW_EMPTY_PASSWORD: 'no' MYSQL_DATABASE: 'db2021' MYSQL_USER: 'zzyy' MYSQL_PASSWORD: 'zzyy123' ports: - "3306:3306" volumes: - /app/mysql/db : /var/lib/mysql - /app/mysql/conf/my .cnf: /etc/my .cnf - /app/mysql/init : /docker-entrypoint-initdb .d networks: - atguigu_net command : --default-authentication-plugin=mysql_native_password #解决外部无法访问 networks: atguigu_net: |
3、执行docker-compose up -d
1 2 3 4 | #docker compose安装 curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose docker-compose --version |
1 2 | #执行docker-compose up -d docker-compose up -d |
4、进入mysql创建初始化数据
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #进入容器 docker exec -it 9ac974d458b1 /bin/bash #登录mysql mysql -uroot -p 123456 #创建数据库 create database boot_docker; use boot_docker; #创建表 CREATE TABLE `t_user` ( ` id ` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, `username` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '用户名' , `password` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '密码' , `sex` TINYINT(4) NOT NULL DEFAULT '0' COMMENT '性别 0=女 1=男 ' , `deleted` TINYINT(4) UNSIGNED NOT NULL DEFAULT '0' COMMENT '删除标志,默认0不删除,1删除' , `update_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间' , `create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间' , PRIMARY KEY (` id `) ) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT= '用户表' ; |
5、swagger测试
5.1、容器映射端口如果不通
1 2 | #docker容器映射端口启动之后,映射端口不通 https: //blog .csdn.net /wangdong422126/article/details/127163995 |
1 | 5.2、登录url |
1 | http: //192 .168.111.99:6001 /swagger-ui .html |

5.3、数据新增三条数据
5.4、查询数据
5.5、登录mysql查询数据
6、关停compose
1 | docker-compose down |
posted on 2022-11-01 10:56 zhaoshuzhan 阅读(124) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)