Docker compose 安装以及使用
Docker compose 是用来编排很多docker容器时启动顺序的工具,单个容器可以使用docker run 来启动,两三个也可以用docker run 来启动,但是,实际生产环境中,一个项目需要很多docker容器相互依赖,这时候想要一个一个启动费事费时。这时候就需要一个工具来解决这个问题。docker compose 的出现,解决了一个项目多容器启动时的复杂性。
环境:centos7.2
主机:192.168.1.200
一:安装
1:从github上下载docker-compose二进制文件安装#
1 curl -L https://github.com/docker/compose/releases/download/v2.1.1/docker-compose-`uname -s`-`uname -m` -o /usr/bin/docker-compose 2 chmod +x /usr/bin/docker-compose
注:如果下载的路径没有在/usr/bin下面,请做软连接到/usr/bin下。
2:pip安装#
1 pip install docker-compose
注:需要安装python才有pip功能,centos7 自带python2.7,但没有pip
二:使用
实验目的:使用docker-compose 编排工具搭建wordpress容器。#
1:创建wordpress工作目录。#
1 mkdir /docker/wordpress/ 2 cd /docker/wordpress/
2:编辑compose.yml(compose配置文件)#
1 vim docker-compose.yml
wordpress: image: wordpress links: - db:mysql ports: - 80:80 db: image: mariadb volumes: - /docker-compose/mysql/:/var/lib/mysql environment: MYSQL_ROOT_PASSWORD: 123456
注解:以下代码用于解释,需要代码请复制上面的代码。#
1 wordpress: 容器模块 2 image: 镜像模块 3 wordpress 镜像名称,这里是从docker hub下载wordpress镜像。 4 links: link模块,用来链接2个容器之间的通信,容器内直接通信。官方不推荐使用这种方式来进行容器内的通信,后续版本会移除。官方文档:https://docs.docker.com/network/links/ 5 - db:mysql db是wordpress容器在link下mysql的别名。 6 ports: ports模块,用于端口映射。 7 - 80:80 将wordpress容器内的80端口映射到宿主机的真实80端口上,就可以通过访问真实主机(宿主机)的端口访问到容器内的80端口。 8 db: 容器模块 9 image: 镜像模块 10 mariadb 从docker hub 下载mariadb镜像。 11 volumes: 文件系统模块,由于设计到docker工作原理,请自行移步至官方文档理解:https://docs.docker.com/storage/volumes/ 12 - /docker-compose/mysql/:/var/lib/mysql 将宿主机的/docker-compose/mysql/目录映射到容器内/var/lib/mysql目录。两个目录中的文件实时同步。下篇文档详细讲解。
13 environment: 参数模块
14 MYSQL_ROOT_PASSWORD: 123456 指定mariadb容器的初始密码为123456
3:执行wordpress项目#
注:执行时必须在compose.yml(compose配置文件)目录下执行。
1 cd /docker/wordpress/ 2 docker-compose up -d
注:-d 后台运行。
4:查看是否启动成功,浏览器访问:192.168.1.200#
至此,使用docker-compose编排搭建wordpress容器项目成功。#
作者:鲜小橙
出处:https://www.cnblogs.com/big-cousin/p/10110430.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
标签:
Docker
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!