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"
页面测试
待续...............
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)