linux下docker-compose部署微服务
linux下docker-compose部署微服务
一.Linux安装docker (centos7)
1-1:更新yum源 yum update
1-2:安装docker yum -y install docker
1-3:等待安装完毕,启动docker服务 service docker start
1-4:测试运行 hello-world,由于本地没有hello-world这个镜像,所以会下载一个hello-world的镜像,并在容器内运行 docker run hello-world
二.安装docker-compose
注:因为docker-compose完全依赖于docker,所以必须先安装完毕docker且启动无误再。
2-1:安装docker-compose
命令:sudo curl -L https://github.com/docker/compose/releases/download/1.20.1/docker-compose-uname -s
-uname -m
> /usr/local/bin/docker-compose
2-2:权限配置 chmod +x /usr/local/bin/docker-compose
三.项目中配置docker-compose以及Dockerfile。
在springcloud项目的根目录中创建一个名为docker-compose.yml的配置文件。此文
主要用于定义多个有依赖关系的服务及每个服务运行的容器。
Service的所有下级为一个容器
具体文档请参考 https://blog.51cto.com/9291927/2310444
3-2:在各个微服务的目录下创建Dockerfile文件来定义该微服务的容器,而docker-compose.yml是定义一组相关联的应用容器为一个项目。用户可以随意搭配各个服务。
需要注意的是,由于docker是独立于linux,不会共享linux的host,所以我们需要配置docker-compose的时候加入host配置,
四.打包项目,压缩并上传到linux。
上传后需要对打包项目进行解压,命令:
tar -xvf filename.tar.gz
tar -xvf filename.tar.bz2
tar -xvf filename.tar.xz
tar -xvf filename.tar.Z
解压完成后,执行docker-compose命令创建镜像并启动。
构建镜像:docker-compose build
启动容器:docker-compose up -d (-d为后台启动,建议第一次不要加,方便看错误)
(注意执行命令需要在docker-compose.yml所在文件夹下)
启动成功,我们在浏览器输入地址访问
访问成功。至此,linux下使用docker部署项目成功。
四.后期版本更新
只需将打包的jar包上传到对应目录,然后docker-compose build 完了后docker-compose up -d docker会自动根据jar包是否更改进行部署,有更改的会重新生成镜像并启动,没更改的保持不变。
注意:在配置mysql的host时候,由于mysql装在宿主机上,docker不能通过localhost访问宿主机,需要通过宿主机在docker上的ip来访问。
写在最后:第一次发文 排版不好请见谅,新手一枚 如有错误请指正,误喷!!