docker-compose介绍及部署LNMP
一、简介
Compose是用于定义和运行多容器Docker应用程序的工具,是docker的服务编排工具,主要应用于构建基于Docker的复杂应用,compose通过一个配置文件来管理多个docker容器,适合组合使用多个容器进行开发的场景。
使用compose,可以使用yaml文件配置应用程序的服务。
然后,通过一个命令,可以从配置中创建和启动所有服务。
官网:https://docs.docker.com/compose/overview/
二、使用
compose适用于所有环境:生产,开发,测试以及CI工作流程。
使用compose基本上是一个三步过程:
1. 用dockerfile,或者镜像定义应用程序的环境,以便在任何地方复制。
2. 在docker-compose.yml中定义组成应用程序的服务,以便它们可以在单独的环境中一起运行。
3. 运行docker compose up启动并运行整个应用程序。
字段 |
描述 |
build dockerfile context |
指定dockerfile文件名 构建镜像上下文路径 |
image | 指定镜像 |
command | 执行命令,覆盖默认命令 |
container_name | 指定容器名称,由于容器名称是唯一的,如果指定自定义名称,则无法scale |
deploy | 指定部署和运行服务相关配置,只能在Swarm模式使用 |
environment | 添加环境变量 |
networks | 加入网络,引用顶级networks下条目 |
ports | 暴漏端口,与-p相同,但端口不能低于60 |
volumes | 挂载宿主机路径或命名卷在顶级volumes定义卷名称 |
restart | 重启策略,默认no,always|on-failurel|unless-stopped |
hostname | 容器主机名 |
================================================================================================
安装docker-compose
一、配置环境
[root@docker ~]# systemctl stop firewalld
[root@docker ~]# iptables -F
[root@docker ~]# setenforce 0
安装docker commpose是在安装好了docker的基础上安装的
安装依赖包
[root@docker ~]# yum install libcurl libcurl-devel libxml2 libxm2-devel pcre-devel zlib-devel lrzsz telnet nmap -y
[root@docker ~]#curl -L \ https://github.com/docker/compose/releases/download/1.21.1/docker-compose- `uname -s`-`uname -m` -o /usr/local/bin/docker-compose
curl: (1) Protocol https not supported or disabled in libcurl
curl: (6) Could not resolve host: Linux-x86_64; 未知的错误
这里报https文件问题,这时上传docker-compose包
二、上传需要的软件包
[root@docker ~]# mkdir docker
[root@localhost docker]# ls
centos-7-x86_64.tar.gz compose_lnmp-190606.zip docker-compose wordpress-4.7.4-zh_CN.tar.gz
[root@docker docker]# unzip compose_lnmp-190606.zip
三、部署docker-compose
[root@docker ~]# cat centos-7-x86_64.tar.gz | docker import - centos:7 将镜像导入到docker
[root@docker ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos 7 c2705e1a484d 2 days ago 589MB
[root@docker ~]# vim docker/compose_lnmp/nginx/nginx.conf
五、将Wordpress放到wwwroot目录下
[root@docker docker]# mv wordpress compose_lnmp/wwwroot/
[root@docker docker]# cd compose_lnmp/wwwroot/
[root@docker wwwroot]# ls
index.html index.php wordpress
将docker-compose加入到/usr/local/bin
[root@docker docker]# chmod +x /usr/local/bin/docker-compose #加权限
[root@docker compose_lnmp]# docker-compose up -d #执行
六、访问测试
docker-compose介绍及部署LNMP的更多相关文章
- Docker Compose编排工具部署lnmp实践及理论(详细)
目录 一.理论概述 编排 部署 Compose原理 二.使用docker compose 部署lnmp 三.测试 四.总结 一.理论概述 Docker Compose是一个定义及运行多个Docker容 ...
- Docker Compose 项目打包部署
Docker Compose 前面我们使用 Docker 的时候,定义 Dockerfile 文件,然后使用 docker build.docker run 等命令操作容器.然而微服务架构的应用系统一 ...
- Docker Compose 介绍安装
Compose介绍 Compose是一个定义和管理多容器的工具,也是一种容器编排工具,前身是Pig,使用Python语言编写.使用Compose配置文件描述多个容器应用的架构,biubiu使用什么镜像 ...
- Docker容器(一)——Docker的介绍与部署
(1).Docker概述 Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows机器上,也可以实现虚拟化.容器是 ...
- Docker Compose 部署前后端分离应用
部署前后端分离应用 容器化 Abp 应用 关于 Abp 应用的容器化,其实和普通的 ASP.NET Core 应用差不多,大家可以参考我此前的文章. 唯一需要注意的是:因为 Abp 解决方案中有多个项 ...
- Docker(四):Docker 三剑客之 Docker Compose
前两篇文章我们介绍了 Dockerfile 的使用Docker(二):Dockerfile 使用介绍,我们知道使用一个 Dockerfile 模板文件可以定义一个单独的应用容器,如果需要定义多个容器就 ...
- 一文掌握Docker Compose
目录 Docker Compose介绍 Docker Compose安装 Docker Compose基本示例 1.基本文件及目录设置 2.创建一个Dockerfile 3.通过docker-comp ...
- 使用 Docker Compose 快速构建 TiDB 集群
本文档介绍如何在单机上通过 Docker Compose 快速一键部署一套 TiDB 测试集群.Docker Compose 可以通过一个 YAML 文件定义多个容器的应用服务,然后一键启动或停止. ...
- 使用 docker compose 安装 tidb
目标 : 单机上通过 Docker Compose 快速一键部署一套 TiDB 测试集群 前提条件: 1.centos版本在7.3 以上 2.安装git 3.安装docker Docker versi ...
随机推荐
- 剖析Javascript中forEach()底层原理,如何重写forEach()
我们平时用的forEach()一般是这样用的 var myArr = [1,5,8] myArr.forEach((v,i)=>{ console.log(v,i) })//运行后是这样的1 0 ...
- pycharm运行RF脚本时的环境搭建与配置
1.安装pycharm:2.file->setting,下载插件intellibot,重启pycharm:3.配置识别RF类型文件,filefile->editor->file ty ...
- SpringBoot学习- 4、整合JWT
SpringBoot学习足迹 1.Json web token(JWT)是为了网络应用环境间传递声明而执行的一种基于JSON的开发标准(RFC 7519),该token被设计为紧凑且安全的,特别适用于 ...
- webpack之 plugin(插件)
plugin plugin是插件的意思,通常用来对某个现有的架构就行拓展 webpack中的插件,就是对webpack现有功能的各种扩展,比如打包优化,文件压缩等 loader和plugin区别 lo ...
- JS高级---沙箱小案例
沙箱小案例 substr截取, 从指定的字段开始截取 (function () { var str="小白喜欢小黑"; str=str.substr(2); console.log ...
- vue 项目初始化
初始化 vue init webpack-simple myproject 安裝 npm install 运行 npm run dev 访问地址 http://localhost:8080/ 安装we ...
- FPGA设计的注意事项
设计文档 一个完整的软件是由程序. 数据和文档三部分组成的. 在FPGA电路设计中, 撰写完善的设计文档是非常重要的. 对于一个比较复杂的设计来说, 各个子单元的功能各不相同, 实现的方法也不一样,各 ...
- 基于PO和单例设计模式用python+selenium进行ui自动化框架设计
一)框架目录的结构 二)config包当中的config.ini文件主要是用来存项目的绝对路径,是为了后续跑用例和生成测试报告做准备然后目前的配置文件大都会用yaml,ini,excel,还有.py也 ...
- mysql查询速度慢的分析和解决
一.定位执行慢的sql,如2秒内没执行完的抽取出来 show engines;查看慢查询时间show variables like 'slow%';查看设置多久是慢查询show variables l ...
- git创建远程分支并推送
1.查看所有分支(-a=>'查看全部的分支') git branch -a 2.创建本地test分支 git branch test 2.2切换test分支 git checkout test ...