docker compose微服务实战
1、编写代码构建打包
1.1、下载jar包
#从百度云下载jar包 链接:https://pan.baidu.com/s/1ewKdyZpZJq6oGEZSZsrY_w 提取码:csie
1.2、上传到Linux服务器/mycompose目录下
1.3、编写Dockerfile文档
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、构建镜像
#构建镜像 docker build -t docker_compose:v2.0 .
2、编写docker-compose.yml文件
#编写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
#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
#执行docker-compose up -d docker-compose up -d
4、进入mysql创建初始化数据
#进入容器 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、容器映射端口如果不通
#docker容器映射端口启动之后,映射端口不通 https://blog.csdn.net/wangdong422126/article/details/127163995
5.2、登录url
http://192.168.111.99:6001/swagger-ui.html
5.3、数据新增三条数据
5.4、查询数据
5.5、登录mysql查询数据
6、关停compose
docker-compose down
posted on 2022-11-01 10:56 zhaoshuzhan 阅读(114) 评论(0) 编辑 收藏 举报