Docker-Compose介绍,安装和使用
Docker-Compose
介绍
有时候运行一个镜像需要大量的参数,可以通过Docker-Compose编写这些参数.而且Docker-Compose可以版主我们批量管理容器,这些信息值需要通过一个docker-compose.yml文件去维护即可
下载并安装Docker-Compose
下载Docker-Compose
去github官网搜索docker-compose,下载你看着顺眼版本Docker-Compose
这里补充一个解决github下载太慢的问题,将下载网址复制粘贴到https://d.serctl.com/即可下载
设置权限
需要将DockerCompose文件的名称修改下,基于DockerCompose文件一个可执行权限
mv docker-compose-Linux-x86_64 docker-compose
chmod docker-compose
配置环境变量
方便后期操作,配置一个环境变量
将docker-compose 文件移动到了/usr/local/bin,修改了,给/usr/local/bin配置到了PATH中
mv docker-compose /usr/local/bin vi /etc/profile #添加内容 : export PATH=$JAVAHOME:/usr/local/bin:$PATH source /etc/profile
测试
在任意母下输入docker-compose

Docker-Compose的管理MySQL和Tomcat容器
yml文件以key:value方式来指定配置信息
多个配置以信息以换行+锁紧的方式来区分
在docker-compose.yml文件中,不要使用制表符
version: '3.1'
services:
mysql: #服务的名称
restart: always #代表只要docker启动,那么这个容器就跟着启动
image: daocloud.io/library/mysql:5.7.4 #指定镜像路径
container_name: mysql #指定容器名称
ports:
- 3306:3306 #指定端口号映射
environment:
MYSQLROOT_PASSWORD: 12345 #指定root用户的登录密码
TZ: Shanghai #指定时区
volumes:
- /opt/docker_mysql_tomcat/mysql_data:/var/lib/mysql #映射数据卷 不懂数据卷的得可以查看上一篇文章
tomcat:
restart: always
image: daocloud.io/lbrary/tomcat:8.5.15-jre8
container_name:tomcat
ports:
- 8080:8080
environment:
TZ: Asia/Shanghai
volumes:
- /opt/docker_mysql_tomcat/tomcat_webapps:/usr/local/tomcat/webapps
- /opt/docker_mysql_tomcat/tomcat_logs:/usr/local/tomcat/logs
使用docker-compose命令管理容器
在使用docker-compose命令时,默认会在当前目录下找docker-compose.yml文件
#基于docker-compose.yml启动管理容器
docker-compose up -d
#关闭并删除容器
docker-compose down
#开启|关闭|重启已经存在的由docker-compose维护的容器
docker-compose start|stop|restart
#查看由docker-compose管理的容器
docker-compose ps
#查看日志
docker-compose logs -f
docker-compose配合Dockerfile使用
使用docker-compose.yml文件以及Dockerfile文件在生成自定义镜像的同事启动当前镜像,并且由docker-compose去管理容器
docker-compose.yml文件
#yml文件
version: '3.1'
services:
ssm:
restart: always
build: #构建自定义镜像
context: ../ #指定dockerfile文件的所在路径
dockerfile: Dockerfile #指定Dcoekrfile文件名称
image: ssm:1.0.1 #要运行的项目的名称:版本,记得之前要先放到镜像中
container_name: ssm
port:
- 8081:8080
environment:
TZ: Asia/Shanghai
运行
测试结果
#可以直接启动基于docker-compose.yml以及Dockerfile文件构建的自定义目录
docker-compose up -d
#如果自定义镜像不存在,回版主我们构建出自定义镜像,如果自定义镜像已经存在,会直接运行这个自定义镜像
#重新构建的话
#重新构建自定义镜像
docker-compose build
#运行当前内容,并重新构建
docker-compose up -d --build
Docker-Compose介绍,安装和使用的更多相关文章
- Docker Compose 介绍安装
Compose介绍 Compose是一个定义和管理多容器的工具,也是一种容器编排工具,前身是Pig,使用Python语言编写.使用Compose配置文件描述多个容器应用的架构,biubiu使用什么镜像 ...
- 26. docker compose 的安装 和 基本使用
1. 安装 docker compose https://docs.docker.com/compose/install/ 选择linux 即可 sudo curl -L "https:/ ...
- 手把手教你 Docker Compose的安装和使用
一.Docker Compose是什么? Docker Compose是一个工具,用于定义和运行多容器应用程序的工具: Docker Compose通过yml文件定义多容器的docker应用: Doc ...
- Docker Compose的安装及命令补全
安装Compose Compose的安装有多种方式,例如通过shell安装.通过pip安装.以及将compose作为容器安装等等.本文讲解通过shell安装的方式.其他安装方式如有兴趣,可以查看Doc ...
- Docker详细介绍安装与镜像制作和拉取
一.Docker是什么? 产生背景: 开发和运维之间因为环境不同和导致的矛盾(不同的操作系统.软件环境.应用配置等)DevOps 代码.系统.环境.配置等封装成镜像Image--->运维: 集群 ...
- centos7 Docker Compose 的安装
[root@localhost ~]# curl -L https://github.com/docker/compose/releases/download/1.8.1/docker-compose ...
- Java篇:Docker的介绍安装 和常用命令
文章目录 为什么 出现docker Docker的简介 容器(Container) 镜像(Image) 仓库(Repository) Docker的安装 查看容器 删除镜像 删除容器 部署应用 以my ...
- Docker Compose + Traefik v2 快速安装, 自动申请SSL证书 http转https 初次尝试
前言 昨晚闲得无聊睡不着觉,拿起服务器尝试部署了一下Docker + Traefik v2.1.6 ,以下是一些配置的总结,初次接触,大佬勿喷. 我的系统环境是 Ubuntu 18.04.3 LTS ...
- centos docker compose安装
docker compose离线安装 通过联网机器下载docker-compose离线安装包(参见Downloads部分) https://github.com/docker/compose/rele ...
- 【Docker Compose】简介与安装
1.简介 Compose 是一个用户定义和运行多个容器的 Docker 应用程序.在 Compose 中你可以使用 YAML 文件来配置你的应用服务.然后,只需要一个简单的命令,就可以创建并启动你配置 ...
随机推荐
- Unity- 小“东西”
菜单栏遍历处理预制体工具 public class GameEditor : Editor { private static void ProcessPrefabs(Action<GameObj ...
- 太实用了!自己动手写软件——SSH、FTP和SQL server的密码破解
我们的密码破解工具一共分为如下六个部分,前面四个部分我们都有在之前的文章中介绍过了 用户图形界面——GUI编程 密码字典获取——Excel文件读取 数据库类——MySQL.Oracle和SQL ser ...
- 软件测试中的微信小程序怎么测试?
1.没有需求文档时,如何测试小程序?现在大多数公司的开发模式是:敏捷模式(用户故事) ,即以什么身份做什么事情会出现什么样的结果.那实际测试过程中,没有需求文档时,测试可以采用以下方式更好的完成测试工 ...
- Python Ethical Hacking - BACKDOORS(8)
Cross-platform hacking All programs we wrote are pure python programs They do not rely on OS-specifi ...
- JavaScript数组在指定某个元素前或后添加元素
//原数组 var s = [['g','g'],['h','h'],['i','i']]; //要添加的元素 var s1 = ['a','b','c']; //要添加的元素 var s2 = [' ...
- 最简单的VScode Python 开发环境配置以及中文化
前置条件 Python 3.X(2020年了,建议使用Python3.X版本) 一.下载VSCode VSCode官方下载链接 由于安装过程是中文界面,此处略过. 二.VSCode中文化 不需要配置什 ...
- springboot(九)文件上传
在企业级项目开发过程中,上传文件是最常用到的功能.SpringBoot集成了SpringMVC,当然上传文件的方式跟SpringMVC没有什么出入.下面我们来创建一个SpringBoot项目完成单个. ...
- Java基础(二)流程语句与数组
Java流程语句详解:https://www.cnblogs.com/jiajia-16/p/6008200.html Java数组详解:https://www.cnblogs.com/jiajia- ...
- 前端学习(六):body标签(四)
进击のpython ***** 前端学习--body标签 关于前面的都是大部分的标签内容 但是就像衣服一样,除了要有,还要放到适当的位置 我们先来看看一下网页的布局: 就可以看出来,网页都是一块一块的 ...
- 没想到 Hash 冲突还能这么玩,你的服务中招了吗?
背景 其实这个问题我之前也看到过,刚好在前几天,洪教授在某个群里分享的一个<一些有意思的攻击手段.pdf>,我觉得这个话题还是有不少人不清楚的,今天我就准备来“实战”一把,还请各位看官轻拍 ...