docker-compose容器编排(单机一键拉起所有容器)

1、安装docker-compose实验

docker-compose容器编排(单机一键拉起所有容器)_第1张图片

安装完成

2、yaml文件

(1)定义

一种直观的、以竖列形式展示序列化数据格式的标记语言,可读性高。类似于json格式,但语法简单

yaml通过缩进表示数据结构,连续的项目用-减号表示

(2)使用注意事项

①大小写敏感

②通过缩进表示层级关系

③只能用空格缩进,不能用tab键

④使用#注释

⑤符号字符后面均有一个空格

举例:test: 2(2前面有一个空格)

⑥单引号引起来的字符会被当作普通字符串处理,双引号里面是特殊字符表示本意

举例:“#”表示#本身这个符号

(3)yaml格式

①声明标量(不能用tab键表示空格)

特点:单个的、不可再分的值

类型:字符串、整数、布尔类型

name: guoqi(中间有空格)

age: 20

tall: yes

handson: yes

wan: no

②list列表:表示有序的元素集合(不能用tab键表示空格)

class:

  - guoqi

  - zirui

  - defu

③键值对映射(不能用tab键表示空格)

Student:

  Name: guoqi

  Age: 20

Student1:

  Name: zirui

  Age: 18

④注释

#test

⑤引用:用&定义锚点,用*引用(不能用tab键表示空格)

Student: &id1

  Name: guoqi

  Age: 20

student1: *id1    #调用Student里的name和age

(4)字符串引号

Name: ‘guoqi’    

Name: “guoqi”

Name: ‘$’   #表示$字符串

Name: “$”  #表示$含义

3作用

单机容器编排(不能跨网段、不能跨主机)

既可以基于dockerfile,也可以基于镜像,一键式拉取镜像和容器

4docker适用场景

适用于单节点本地访问,docker没有统一的对外提供服务的端口和配置,一般是内部访问,无需使用https,若要以集群和分布式的方式提供统一访问的端口,可以使用K8s+ingress

5docker-compose的常用命令

只能在有docker-compose的目录下运行docker-compose命令

build

构建服务

ps

列出由docker-compose编排出来的容器(常用)

up

创建和启动容器(常用)

top

显示容器的进程

logs

查看容器的输出日志

down

删除容器、网络、数据卷

exec

在容器中执行命令(一般不用)

stop/start/restart

停止/启动/重启

scale

指定启动的容器数量(副本)(在k8s中常用)

6、编排yml文件

docker-compose搭建nginx容器实验

1、安装docker-compose

docker-compose容器编排(单机一键拉起所有容器)_第2张图片

2、安装tree

docker-compose容器编排(单机一键拉起所有容器)_第3张图片

3、创建nginx的Dockerfile文件

docker-compose容器编排(单机一键拉起所有容器)_第4张图片

docker-compose容器编排(单机一键拉起所有容器)_第5张图片

docker-compose容器编排(单机一键拉起所有容器)_第6张图片

5、创建docker-compose的yml文件(必须和nginx和www平级创建yml文件)

docker-compose容器编排(单机一键拉起所有容器)_第7张图片

docker-compose容器编排(单机一键拉起所有容器)_第8张图片

docker-compose容器编排(单机一键拉起所有容器)_第9张图片

docker-compose容器编排(单机一键拉起所有容器)_第10张图片

5、构建容器

docker-compose -f docker-compose.yml up -d

docker-compose

命令的开头,使用docker-compose进行容器编排

-f

使用特定的compose的模板文件,一般不重命名,都用docker-compose.yml

-p

project-name,指定项目名称,若不加,会使用目录名称

-d

后台运行

docker-compose容器编排(单机一键拉起所有容器)_第11张图片

docker-compose容器编排(单机一键拉起所有容器)_第12张图片docker-compose容器编排(单机一键拉起所有容器)_第13张图片docker-compose容器编排(单机一键拉起所有容器)_第14张图片6、访问测试

docker-compose容器编排(单机一键拉起所有容器)_第15张图片

7、测试docker-compose的命令(一定要在docker.compose.yml的目录下使用)

docker-compose容器编排(单机一键拉起所有容器)_第16张图片

docker-compose搭建nmp容器+wordpress实验

1、安装docker-compose

docker-compose容器编排(单机一键拉起所有容器)_第17张图片

2、配置nginx、mysql、php的配置文件和Dockerfile文件

(1)nginx

cd /opt/lnmp/nginxdocker-compose容器编排(单机一键拉起所有容器)_第18张图片

vim Dockerfile

docker-compose容器编排(单机一键拉起所有容器)_第19张图片

vim nginx.conf

docker-compose容器编排(单机一键拉起所有容器)_第20张图片

(2)mysql

cd mysql/

docker-compose容器编排(单机一键拉起所有容器)_第21张图片

vim Dockerfile

docker-compose容器编排(单机一键拉起所有容器)_第22张图片

docker-compose容器编排(单机一键拉起所有容器)_第23张图片

vim my.cnf

docker-compose容器编排(单机一键拉起所有容器)_第24张图片

(3)php

cd php/

docker-compose容器编排(单机一键拉起所有容器)_第25张图片

vim Dockerfile

docker-compose容器编排(单机一键拉起所有容器)_第26张图片

docker-compose容器编排(单机一键拉起所有容器)_第27张图片

3、创建docker-compose.yml文件(必须和要创建的容器目录平级)

yum -y install tree

docker-compose容器编排(单机一键拉起所有容器)_第28张图片

docker-compose容器编排(单机一键拉起所有容器)_第29张图片

docker-compose容器编排(单机一键拉起所有容器)_第30张图片

docker-compose容器编排(单机一键拉起所有容器)_第31张图片

4、构建容器

docker-compose -f docker-compose.yml up -d

docker-compose容器编排(单机一键拉起所有容器)_第32张图片

5、查看容器是否构建成功

docker-compose容器编排(单机一键拉起所有容器)_第33张图片

docker-compose容器编排(单机一键拉起所有容器)_第34张图片

docker-compose容器编排(单机一键拉起所有容器)_第35张图片

mysql -u root -p

create database wordpress;

grant all privileges on wordpress.* to 'wordpress'@'%' identified by '123456';

grant all privileges on *.* to 'root'@'%' identified by '123456';

flush privileges;

docker-compose容器编排(单机一键拉起所有容器)_第36张图片

docker-compose容器编排(单机一键拉起所有容器)_第37张图片

docker-compose容器编排(单机一键拉起所有容器)_第38张图片

6、浏览器访问http://20.0.0.16/wordpress/index.jsp

docker-compose容器编排(单机一键拉起所有容器)_第39张图片

docker-compose容器编排(单机一键拉起所有容器)_第40张图片

docker-compose容器编排(单机一键拉起所有容器)_第41张图片

docker-compose容器编排(单机一键拉起所有容器)_第42张图片

docker-compose容器编排(单机一键拉起所有容器)_第43张图片

docker-compose容器编排(单机一键拉起所有容器)_第44张图片

docker-compose容器编排(单机一键拉起所有容器)_第45张图片

docker-compose容器编排(单机一键拉起所有容器)_第46张图片

你可能感兴趣的:(docker,容器,运维)