Linux-docker-compose

单机编排之Docker Compose

  当在宿主机启动较多的容器时候,如果都是手动操作会觉得比较麻烦而且容易出错,这个时候推荐使用docker单机编排工具 docker-compose,docker-compose是docker容器的一种单机编排服务,docker-compose是一个管理多个容器的工具,比如可以解决容器之间的依赖关系,就像启动一个nginx前端服务的时候会调用后端的tomcat,那就得先启动tomcat,但是启动tomcat容器是需要依赖数据库,那就还得先启动数据库,docker-compose就可以解决这样的嵌套依赖关系,其完全可以替代docker run对容器进行创建、启动核停止。

基础环境准备:

安装python-pip

 python-pip 包将安装一个pip的命令,pip命令是一个python安装包的安装工具,其类似于Ubuntu的apt或者redhat的yum,但是pip只安装python相关的安装包,可以在多种操作系统安装何使用pip

[14:52:57 root@ubuntu-lyj ~]#/usr/lib/docker-compose --help

Usage:  docker compose [OPTIONS] COMMAND

Docker Compose

Options:
      --ansi string                Control when to print ANSI control characters ("never"|"always"|"auto")
                                   (default "auto")
      --compatibility              Run compose in backward compatibility mode
      --env-file string            Specify an alternate environment file.
  -f, --file stringArray           #指定Compose模板文件,默认为docker-compose,默认为docker-compose.yml
      --profile stringArray        Specify a profile to enable
      --project-directory string   Specify an alternate working directory
                                   (default: the path of the, first specified, Compose file)
  -p, --project-name string        #指定项目名称,默认将使用当前所在目录名称作为项目名

Commands:
  build       #通过docker-compose.yml文件目录执行
  convert     #从当前docker compose文件生成一个以当前目录为名称的从compose文件生成一个分布式应用程序捆绑包
  cp          Copy files/folders between a service container and the local filesystem
  create      #创建服务
  down        #停止核删除所有容器、网络、镜像核卷
  events      #从容器接收实时事件,可以指定json日志格式,如docker-compose events --json
  exec        #进入指定容器进行操作
  images      #显示当前服务器的docker镜像信息
  kill        #强制终止运行中的容器
  logs        #查看容器的日志
  ls          List running compose projects
  pause       #暂停服务
  port        #查看端口
  ps          #列出容器
  pull        #重新拉取镜像
  push        #上传镜像
  restart     #重启服务
  rm          #软出已经停止的服务
  run         #一次性运行容器,等于docker run --rm
  start       #启动服务
  stop        #停止服务
  top         #显示容器运行状态
  unpause     #取消暂定
  up          #创建并启动容器
  version     #显示版本信息

从docker compose启动单个容器:

目录可以在任意目录,推荐放在有意义的位置

[14:53:30 root@ubuntu-lyj ~]#cd /data/
[15:47:36 root@ubuntu-lyj /data]#ls
lost+found
[15:47:37 root@ubuntu-lyj /data]#mkdir web_n65
[15:49:03 root@ubuntu-lyj /data]#cd web_n65/

单个容器的docker compose文件

编写一个yml格式的配置docker-compose文件,启动一个tomcat服务,由于格式为yml格式,因此要注意前后的缩进及上下行的等级关系。

[17:48:24 root@ubuntu-lyj /data/web_n65]#vim docker-compose.yml
[17:48:56 root@ubuntu-lyj /data/web_n65]#docker-compose up -d       #后台启动镜像
Creating web_n65_service-tomcat-web_1 ... done  #容器在启动的时候,会给容器自定义一个名称,在service name 后面加_1
[17:49:00 root@ubuntu-lyj /data/web_n65]#cat docker-compose.yml     #docker0compose.yml内容
service-tomcat-web:
  image: hardor.jing.com/n65/tomcat-web:app2
  expose:
    - 8080
    - 443
  ports:
    - "8081:8080"
    - "443:443"

页面测试

 

 

 

待续...............

posted @ 2022-08-12 17:57  goodbay说拜拜  阅读(214)  评论(0编辑  收藏  举报