栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > 服务器

Docker.v19安装和配置Docker Compose编排工具的方法

服务器 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

一、Compose简介

Compose是用于定义和运行多容器Docker应用程序的工具。通过Compose,可以使用YAML文件来配置应用程序的服务。然后,使用一个命令,就可以从配置中创建并启动所有服务。

Docker-Compose是一个容器编排工具。通过一个.yml或.yaml文件,将所有的容器的部署方法、文件映射、容器端口映射等情况写在一个配置文件里,执行docker-compose up命令就像执行脚本一样,一个一个的安装并部署容器。

YAML文件基本语法:

  • 大小写敏感;
  • 使用缩进表示层级关系;
  • 缩进不允许使用tab,只允许空格;
  • 缩进的空格数不重要,只要相同等级的元素左对齐即可;
  • “#”表示注释;

Dockerfile 可以让用户管理一个单独的应用容器;而 Compose 则允许用户在一个模板(YAML 格式)中定义一组相关联的应用容器,例如一个 Web 服务容器再加上后端的数据库服务容器等,如下:



Docker Compose将所管理的容器分为三层:

  • 项目(project);
  • 服务(service);
  • 容器(container);

docker compose运行目录下的所有yml文件组成一个项目,一个项目包含多个服务,每个服务中定义了容器运行的镜像、参数、依赖。一个服务可包括多个容器实例。

docker-compose就是docker容器的编排工具,主要就是解决相互有依赖关系的多个容器的管理。

二、安装Docker

服务器为CentOS7.4;Docker版本为19.03.9

1、安装19.03.9版本Docker

[root@centos01 ~]# cd /etc/yum.repos.d/ 
[root@centos01 yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-base.repo https://mirrors.aliyun.com/repo/Centos-7.repo   
   
[root@centos01 yum.repos.d]# curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker.ce.repo  
    
[root@centos01 ~]# yum -y install docker-ce yum-utils device-mapper-persitent-data lvm2  
 
[root@centos01 ~]# docker version   
Client: Docker Engine - Community
 Version:      19.03.9
 API version:    1.40
 Go version:    go1.13.10
 Git commit:    9d988398e7
 Built:Fri May 15 00:25:27 2020
 OS/Arch:      linux/amd64
 Experimental:   false

Server: Docker Engine - Community
 Engine:
 Version:     19.03.9
 API version:   1.40 (minimum version 1.12)
 Go version:    go1.13.10
 Git commit:    9d988398e7
 Built:      Fri May 15 00:24:05 2020
 OS/Arch:     linux/amd64
[root@centos01 ~]# systemctl start docker   
[root@centos01 ~]# systemctl enable docker   

2、配置镜像加速

接下来启用道云提供的下载镜像加速功能(阿里也提供了该功能,我这里就写道云了)。
道云加速器网址:https://www.daocloud.io/
流程如下:

1)访问道云的官网;

2)注册用户并且登录;

前两步完成后,请看图操作:



看到以下界面后,往下拖页面:



拖到此处,根据自己系统版本,复制相应的命令(基于Linux服务器就复制下面这行):



[root@centos01 ~]# curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io   
docker version >= 1.12
{"registry-mirrors": ["http://f1361db2.m.daocloud.io"]}
Success.
You need to restart docker to take effect: sudo systemctl restart docker
[root@centos01 ~]# cat /etc/docker/daemon.json   
{"registry-mirrors": ["http://f1361db2.m.daocloud.io"]}
[root@centos01 ~]# systemctl restart docker    

三、安装使用Docker Compose

1、Github下载Docker Compose

若想使用compose这个容器编排工具,那么,必须是基于docker这个服务,然后下载docker-compose这个命令,我们可以去github官方网站搜索“docker Compose”,如下:









下载compose工具时,需先查看本机的docker版本!

[root@centos01 ~]# docker -v
Docker version 19.03.9, build 9d988398e7

如果docker版本过低,可以自行查找其他版本的docker-compose工具。选择合适的版本之后,执行在github网站上找到的命令。

[root@centos01 ~]#curl -L https://github.com/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
[root@centos01 ~]#chmod +x /usr/local/bin/docker-compose

2、道云下载Docker Compose

如果网速不佳下载失败可以选择一下方式下载:(个人比较推荐一下方式下载)

首先我们访问道云官网 去道云官网下载,如下:





[root@centos01 ~]# curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose 
     
[root@centos01 ~]# docker-compose -v      
docker-compose version 1.25.5, build 8a1c60f6

可以通过修改URL中的版本,可以自定义您的需要的版本。执行上面的两条命令后,我们就可以使用docker-compose这个编排工具了。

四、编写.yml文件

1、.yml文件构建简单的Nginx服务

[root@centos01 ~]# vim /root/.vimrc
set tabstop=2
[root@centos01 ~]# source /root/.vimrc

[root@centos01 ~]# mkdir docker_compose 
    
[root@centos01 ~]# cd docker_compose/  

[root@centos01 docker_compose]# vim docker-compose.yml  
  
version: "3"
services: 
 nginx:
  container_name: nginx      
  image: nginx:latest   
  restart: always  
  ports:
   - 80:80
  volumes:
   - /root/compose_test/webserver:/usr/share/nginx/html     
      
   
[root@centos01 docker_compose]# docker-compose up -d


[root@centos01 docker_compose]# docker ps     
ConTAINER ID    IMAGE COMMAND  CREATEDSTATUSPORTS NAMES
a4d71936dd12    nginx:latest    "nginx -g 'daemon of…"  46 seconds ago   Up 45 seconds    0.0.0.0:80->80/tcp  nginx
[root@centos01 docker_compose]# echo "www.docker-compose.com" > webserver/index.html
    
[root@centos01 docker_compose]# curl http://192.168.100.10 
www.docker-compose.com
[root@centos01 docker_compose]# docker-compose stop 
Stopping nginx ... done
[root@centos01 docker_compose]# docker ps 
ConTAINER ID    IMAGE COMMANDCREATEDSTATUSPORTS NAMES
[root@centos01 ~]# docker-compose -f docker_compose/docker-compose.yml up -d

2、compose+dockerfile构建镜像

[root@centos01 ~]# mkdir compose && cd compose 
[root@centos01 compose]# vim Dockerfile   
FROM nginx:latest     
ADD html /usr/share/nginx/html 
[root@centos01 compose]# vim docker-compose.yml    
version: '3'
services:
 nginx:
  build: . 
  container_name: nginx001  
  image: nginx001      
  restart: always      
  ports:
   - 8080:80
[root@centos01 compose]# mkdir html    
[root@centos01 compose]# echo "www.nginx.8080.com" > html/index.html 
[root@centos01 compose]# docker-compose up -d      
[root@centos01 compose]# docker ps      
ConTAINER ID    IMAGE COMMAND  CREATEDSTATUSPORTS  NAMES
1428cd1ab7de    nginx001      "nginx -g 'daemon of…"  about a minute ago  Up about a minute  0.0.0.0:8080->80/tcp  nginx001
a4d71936dd12    nginx:latest    "nginx -g 'daemon of…"  18 minutes ago    Up 15 minutes    0.0.0.0:80->80/tcp   nginx
[root@centos01 compose]# docker images     
REPOSITORY     TAG  IMAGE ID      CREATEDSIZE
nginx001      latest55b8bd0a4a59    about a minute ago  127MB
nginx latest9beeba249f3e    5 days ago      127MB
[root@centos01 compose]# curl http://192.168.100.10:8080   
www.nginx.8080.com
[root@centos01 compose]# docker-compose stop    
Stopping nginx001 ... done
[root@centos01 ~]# docker-compose -f compose/docker-compose.yml up -d   
      
Starting nginx001 ... done 

3、使用.yml文件搭建博客平台

[root@centos01 ~]# mkdir wordpress && cd wordpress 
[root@centos01 wordpress]# vim docker-compose.yml  
version: '3.1' 
services:
 wordpress:
  image: wordpress      
  restart: always
  ports:
   - 1111:80    
  environment:
   WORDPRESS_DB_HOST: mysql
   WORDPRESS_DB_USER: wordpress
   WORDPRESS_DB_PASSWORD: pwd@123
   WORDPRESS_DB_NAME: wordpress
 mysql:
  image: mysql:5.6
  restart: always
  command: --character-set-server=utf8  
  environment:
   MYSQL_ROOT_PASSWORD: pwd@123 
   MYSQL_DATAbase: wordpress     
   MYSQL_USER: wordpress      
   MYSQL_PASSWORD: pwd@123     
[root@centos01 wordpress]# docker-compose up -d 
[root@centos01 wordpress]# docker ps  
ConTAINER ID    IMAGE COMMAND  CREATEDSTATUSPORTS  NAMES
a93858ade399    wordpress      "docker-entrypoint.s…"  28 seconds ago   Up 27 seconds    0.0.0.0:1111->80/tcp  wordpress_wordpress_1
cec94e3bd0ee    mysql:5.6      "docker-entrypoint.s…"  28 seconds ago   Up 27 seconds    3306/tcp wordpress_mysql_1
[root@centos01 wordpress]# docker images  
REPOSITORY     TAG  IMAGE ID      CREATEDSIZE
mysql 5.6  9e4a20b3bbbc    10 hours ago    302MB
wordpress      latest675af3ca3193    5 days ago     540MB
[root@centos01 wordpress]# netstat -anptu |grep 1111  
tcp6    0   0 :::1111  :::*   LISTEN   119795/docker-proxy
[root@centos01 wordpress]# echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf 
      
[root@centos01 wordpress]# sysctl -p 
net.ipv4.ip_forward = 1

客户端访问http://192.168.100.10:1111

设置基础信息:



安装完成,登录:



输入用户名密码:



修改字体为简体中文:



到此这篇关于安装Docker.v19和配置Docker Compose编排工具的方法的文章就介绍到这了,更多相关Docker安装配置Docker Compose 内容请搜索考高分网以前的文章或继续浏览下面的相关文章希望大家以后多多支持考高分网!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/177260.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号