首页 > 其他分享 >通过docker compose部署项目jar包

通过docker compose部署项目jar包

时间:2022-12-08 16:38:42浏览次数:32  
标签:容器 Compose jar project nginx compose docker


Docker-Compose 是用来管理容器的,类似用户容器管家,我们有N多台容器或者应用需要启动的时候,如果手动去操作,是非常耗费时间的,如果有了 Docker-Compose 只需要一个配置文件就可以帮我们搞定,但是 Docker-Compose 只能管理当前主机上的 Docker,不能去管理其他服务器上的服务。意思就是单机环境。

一、什么是docker-compose:

docker-compose是基于docker的开源项目,托管于github上,由python实现,调用 docker服务的API负责实现对docker容器集群的快速编排,即通过一个单独的yaml文件,来定义一组相关的容器来为一个项目服务。
  所以,docker-compose默认的管理对象是项目,通过子命令的方式对项目中的一组容器进行生命周期的管理。

二、docker-compose的安装:

github上下载安装:

下载:

curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

添加权限:

chmod +x /usr/local/bin/docker-compose

查看版本:

docker-compose --version

通过docker compose部署项目jar包_git

三、docker-compose常用命令

docker-compose up -d nginx                     构建建启动nignx容器

docker-compose exec nginx bash 登录到nginx容器中

docker-compose down 删除所有nginx容器,镜像

docker-compose ps 显示所有容器

docker-compose restart nginx 重新启动nginx容器

docker-compose run --no-deps --rm php-fpm php -v 在php-fpm中不启动关联容器,并容器执行php -v 执行完成后删除容器

docker-compose build nginx 构建镜像 。

docker-compose build --no-cache nginx 不带缓存的构建。

docker-compose logs nginx 查看nginx的日志

docker-compose logs -f nginx 查看nginx的实时日志



docker-compose config -q 验证(docker-compose.yml)文件配置,当配置正确时,不输出任何内容,当文件配置错误,输出错误信息。

docker-compose events --json nginx 以json的形式输出nginx的docker日志

docker-compose pause nginx 暂停nignx容器

docker-compose unpause nginx 恢复ningx容器

docker-compose rm nginx 删除容器(删除前必须关闭容器)

docker-compose stop nginx 停止nignx容器

docker-compose start nginx 启动nignx容器

定义docker-compose的yaml文件

制作docker镜像:
​利用Dockerfile制作自己的Docker镜像部署Jar包​​

1.创建docker-compose.yml文件:

Compose模板文件是一个定义服务、网络和卷的YAML文件。Compose模板文件默认路径是当前目录下的docker-compose.yml,可以使用.yml或.yaml作为文件扩展名。
Docker-Compose标准模板文件应该包含version、services、networks 三大部分,最关键的是services和networks两个部分。

version: '3'

# 关于网络,如果用到mysql或者redis,并且希望在同一个网络,那么就可以直接使用同一个网络名
# docker network create project-demo_bridge
networks:
project-demo_bridge:
driver: bridge

services:
project-demo:
#Compose的容器名称格式是:<项目名称><服务名称><序号>
#可以自定义项目名称、服务名称,但如果想完全控制容器的命名,可以使用标签指定:
container_name: project-demo
#image是指定服务的镜像名称或镜像ID。如果镜像在本地不存在,Compose将会尝试拉取镜像。
image: project-demo:0.1
restart: always
#ports用于映射端口的标签。使用HOST:CONTAINER格式或者只是指定容器的端口,宿主机会随机映射端口。
ports:
- 8011:8011
networks:
- project-demo_bridge

Compose目前有三个版本分别为Version 1,Version 2,Version 3,Compose区分Version 1和Version 2(Compose 1.6.0+,Docker Engine 1.10.0+)。Version 2支持更多的指令。Version 1将来会被弃用。

2.进入docker-compose.yml所在文件夹,执行以下命令,启动服务

# 启动容器, -d 表示后台启动
docker-compose -f docker-compose.yml up -d

通过docker compose部署项目jar包_git_02

# 查看日志
docker logs project-demo

通过docker compose部署项目jar包_nginx_03

# 关闭容器
docker-compose -f docker-compose.yml down --volumes

3.其他相关docker-compose命令:

停止所有服务:
decker-compose stop
停止某服务:
docker-compose stop project-demo
删除所有服务镜像:
docker-compose rm


标签:容器,Compose,jar,project,nginx,compose,docker
From: https://blog.51cto.com/u_15906694/5922710

相关文章

  • Dockerfile中CMD和ENTRYPOINT的区别
    CMD和ENTRYPOINT同样作为容器启动时执行的命令,区别有以下几点:CMD的命令会被dockerrun的命令覆盖而ENTRYPOINT不会如使用CMD["/bin/bash"]或ENTRYPOINT["/bin/bash"]后,......
  • centos7下安装docker镜像
    在线下载docker镜像:dockerpullmysql:5.7dockerpullredis:5.0-alpinedockerpulltomcat:9.0.13-jre8-alpine查看已下载的Docker镜像latest具体版本:dockerimageins......
  • Docker 安装 Python
    1.拉取镜像:dockerpullpython:3.5查看镜像dockerimages2.创建python容器:dockerrun--namepython3.7-v/mydata:/python/myapp-w/mydata/python/myapppython:3.7......
  • 清理Docker占用的磁盘空间
    使用df-h命令来查看磁盘信息使用du-h-x--max-depth=1查看哪个目录占用过高查看docker池空间大小dockerinfo由于没有修改docker的默认目录,docker默认目录空间太小了,......
  • openEuler安装docker
     一、准备工作#更新镜像源缓存dnfmakecache#修改chrony时间同步配置sed-i's/poolpool.ntp.orgiburst/poolntp.aliyun.com/g'/etc/chrony.conf#重启chron......
  • Docker部署inluxdb,grafana,prometheus环境
    创建网络查看现有网络:dockernetworkls[root@zhulanghome]#dockernetworklsNETWORKIDNAMEDRIVERSCOPE874979f64b45bridgebridge......
  • virtualbox中安装docker
    安装yum-utilsyuminstall-yyum-utilsdevice-mapper-persistent-datalvm2为yum源添加docker仓库位置yum-config-manager--add-repohttps://download.d......
  • linux 下编译与发布jar包 ---主要用在本地开发环境
    我们的代码在git上,然后通过如下命令进行下载与编译。编译后,运行我们执行的jar包build-demo.sh ---git下载代码到本地、maven发布包restart-demo-mock.sh ---在本机......
  • k8s+harbor部署jar包和vue项目
    前置工作:k8s部署docker镜像需要拉取docker镜像,一般企业都是使用的局域网,所以需要在本地搭建一个docker私有仓库。​​将jar包、vue项目打成docker镜像并推送到Harbor本地......
  • 将jar包、vue项目打成docker镜像并推送到Harbor本地仓库
    ​​Centos7下harbor的安装部署​​先制作自己的docker镜像,使用commit方式也可以制作镜像,我这里采用通过编写Dockerfile命令脚本进行生成镜像。​​利用Dockerfile制作自己......