Docker 容器编排的应用

案例一

提前安装好docker-compose
使用 mysql:5.6 镜像和 WordPress:latest镜像,在/root/wordpress目录下创建docker-compose.yaml文件,编排部署WordPress,并设置restart策略

[root@localhost ~]# mkdir wordpress
[root@localhost ~]# cd wordpress/
[root@localhost wordpress]# vi docker-compose.yaml
注意每一行的缩进
mysql:
  image: mysql:5.6  
  restart: always
  ports:
    - "3306:3306"
  environment:
    MYSQL_ROOT_PASSWORD: 123456
    MYSQL_DATABASE: wordpress
    MYSQL_USER: wordpress
    MYSQL_PASSWORD: 123456

wordpress:
  image: wordpress:latest
  restart: always
  ports:
    - "80:80"
  links:
    - "mysql:mysql"
  environment:
    WORDPRESS_DB_NAME: wordpress
    WORDPRESS_DB_USER: wordpress
    WORDPRESS_DB_PASSWORD: 123456

启动测试
[root@localhost wordpress]# docker-compose up -d 
Creating wordpress_mysql_1 ... done
Creating wordpress_wordpress_1 ... done

查看启动是否成功
[root@localhost wordpress]# docker ps 
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
f521eb4ab925        wordpress:latest    "docker-entrypoint..."   22 seconds ago      Up 20 seconds       0.0.0.0:80->80/tcp       wordpress_wordpress_1
1ab669a6cb05        mysql:5.6           "docker-entrypoint..."   26 seconds ago      Up 22 seconds       0.0.0.0:3306->3306/tcp   wordpress_mysql_1

浏览器登录访问
在这里插入图片描述

案例二

使用 mysql:5.6 镜像和 owncloud :latest镜像,在/root/owncloud目录下创建docker-compose.yaml文件,编排部署owncloud,并设置restart策略

[root@localhost ~]# mkdir owncloud
[root@localhost ~]# cd owncloud/
[root@localhost owncloud]# vi docker-compose.yaml
mysql:
  image: mysql:5.6 
  restart: always
  ports:
    - "3306:3306"
  environment:
    MYSQL_ROOT_PASSWORD: 123456
    MYSQL_DATABASE: owncloud
    MYSQL_USER: owncloud
    MYSQL_PASSWORD: 123456

owncloud:
  image: owncloud:latest 
  restart: always
  ports:
    - "80:80"
  links:
    - "mysql:mysql"
  environment:
    WONCLOUD_DB_NAME: owncloud
    WONCLOUD_DB_USER: owncloud
    WONCLOUD_DB_PASSWORD: 123456

启动测试
[root@localhost owncloud]# docker-compose up -d 
Creating owncloud_mysql_1 ... done
Creating owncloud_owncloud_1 ... done

查看启动状态
[root@localhost owncloud]# docker ps 
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
5877ec11c807        owncloud:latest     "docker-entrypoint..."   29 seconds ago      Up 27 seconds       0.0.0.0:80->80/tcp       owncloud_owncloud_1
db8a0d1e7645        mysql:5.6           "docker-entrypoint..."   30 seconds ago      Up 29 seconds       0.0.0.0:3306->3306/tcp   owncloud_mysql_1

浏览器访问测试
在这里插入图片描述

补充

容器之间数据卷的应用

容器和主机之间映射共享卷

[root@localhost ~]# mkdir html    //创建映射的目录
[root@localhost ~]# echo "this is nginx server " >> html/index.html    //给目录写入一个内容
[root@localhost ~]# docker run -itd --name nginx -p 80:80 -v /root/html/:/usr/share/nginx/html nginx:latest  
启动Nginx镜像 然后映射我们创建的目录
[root@localhost ~]# docker ps    //查看运行的状态
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
22fc5e94c3ff        nginx:latest        "nginx -g 'daemon ..."   27 seconds ago      Up 26 seconds       0.0.0.0:80->80/tcp   nginx

浏览器访问测试
在这里插入图片描述

多个容器之间使用容器共享卷

容器共享卷的创建

[root@localhost ~]# docker rm -f $(docker ps -qa)   //删除所有的容器
创建共享卷的容器(相当于共享文件)
[root@localhost ~]# docker run -itd --name web1 -p 81:80 -v /usr/share/nginx/html nginx:latest  
[root@localhost ~]# docker exec -it web1 /bin/bash   //进入容器
root@21e4f76b398f:/# echo "this is web1" >> /usr/share/nginx/html/index.html    //写入网页文件

其他容器共享该共享卷
使用 --volumes-from 连接到创建共享卷的容器上
[root@localhost ~]# docker run -itd --volumes-from web1 --name web2 -p 82:80 nginx:latest  
[root@localhost ~]# docker run -itd --volumes-from web1 --name web3 -p 83:80 nginx:latest  

浏览器分别访问测试
web1
在这里插入图片描述
web2
在这里插入图片描述
web3
在这里插入图片描述

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ball-4444

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值