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 ...
随机推荐
- linux - 异常:安装包冲突 conflicts with
问题描述 解决方案 删除冲突的包 命令格式:yum -y remove 包名 yum -y remove httpd24u yum -y remove httpd24u-tools
- HttpRequestException encountered解决方法
每次pull代码的时候,总是要输入账号,密码,百度了一下HttpRequestException encountered错误 发现是Github 禁用了TLS v1.0 and v1.1,必须更新Wi ...
- leetcode top-100-liked-questions刷题总结
一.起因 宅在家中,不知该做点什么.没有很好的想法,自己一直想提升技能,语言基础自不必言,数据结构还算熟悉,算法能力一般.于是乎,就去刷一通题. 刷题平台有很多,我选择了在leetcode进行刷题.回 ...
- cc.progressFromTo cc.progressTo(action 在duration中ProgressTimer的Percentage变化)
let progressTimer= new cc.ProgressTimer(new cc.Sprite(fileName));this.addChild(progressTimer);progre ...
- 通过恢复目录(Catalogue)进行PDB级别的PITR恢复
数据库版本:Oracle 12.2.0.1 本篇为<执行PDB的PITR恢复失败的说明 (文档 ID 2435452.1)>的证明篇,通过当前控制文件,无法在PDB级别进行PITR(Poi ...
- 如何去官网上下载tomcat的linux版本
1.首先进入官网,进入如下位置 2.进入bin文件夹中下载: 原文链接:https://blog.csdn.net/zdb292034/article/details/82433072
- Linux, Nginx - Deepin linux手动安装nginx和出现的问题
安装步骤 切换至root su 安装依赖库 sudo apt-get install build-essential && sudo apt-get install libtool s ...
- Python3爬虫爬取淘宝商品数据
这次的主要的目的是从淘宝的搜索页面获取商品的信息.其实分析页面找到信息很容易,页面信息的存放都是以静态的方式直接嵌套的页面上的,很容易找到.主要困难是将信息从HTML源码中剥离出来,数据和网页源码结合 ...
- hadoop docker ...
hadoop docker ... 待办 昨天待办 decription decription 今日待办 decription decription decription decription had ...
- 题解【洛谷P5248】 [LnOI2019SP]快速多项式变换(FPT)
题目描述 这是一道构造题. 诗乃在心中想了一个n+1项的多项式f(x).第i项的次数为i,系数为ai: f(x)=a0+a1*x+a2*x2+a3*x3+⋯+an*xn 给定m以及f(m)的 ...