[docker]九、compose是什么?有什么用?以及用compose启动web、redis和wordpress

   日期:2024-12-27     作者:xhb273511       评论:0    移动:http://w.yusign.com/mobile/news/5810.html
核心提示:目录 1、compose 1.1、compose的好处 1.2、安装compose 1.3、使用compose Step 1: Setup Step 2: Create a Dockerfile Step 3: D

目录

1、compose

1.1、compose的好处

1.2、安装compose

1.3、使用compose

Step 1: Setup

Step 2: Create a Dockerfile

Step 3: Define services in a Compose file

Step 4: Build and run your app with Compose

1.4、用compose启动一个wordpress


是docker官方推出的一个用python编写的容器编排工具。可以理解为启动容器的脚本,在脚本里指明启动容器的顺序,启动多少容器

那么有以下问题

  • 对容器进行什么编排操作呢

启动容器,可以指定端口、卷、链接、使用哪个镜像等

 
  • 对多少容器进行编排操作呢

>=1

  • 对多少台宿主机上的容器进行编排操作呢

一台

还有两个比较厉害的软件swarm和k8s

这三个都是容器编排的工具,他们的区别是

  • compsose:单台机器上编排容器
  • swarm:多台机器上编排容器
  • k8s:多台机器上的编排容器,性能和功能比swarm更好
  1. 可以快速批量启动容器,效率高
  2. 不容易出错,可靠性高

 
 

[结果查看]

 

官方参考资料:Get started with Docker Compose | Docker Documentation

Step 1: Setup

1、Create a directory for the project:

 

注意:下面的操作都是在/composetest里边完成的 

2、Create a file called  in your project directory and paste this in:

 

In this example,  is the hostname of the redis container on the application’s network. We use the default port for Redis, .(在这个例子中,redis是应用程序网络中redis容器的主机名。我们使用Redis的默认端口6379。

3、Create another file called  in your project directory and paste this in:

 

Step 2: Create a Dockerfile

In your project directory, create a file named  and paste the following:

 

This tells Docker to:

  • Build an image starting with the Python 3.7 image.
  • Set the working directory to .
  • Set environment variables used by the  command.
  • Install gcc and other dependencies
  • Copy  and install the Python dependencies.
  • Add metadata to the image to describe that the container is listening on port 5000
  • Copy the current directory  in the project to the workdir  in the image.
  • Set the default command for the container to .

For more information on how to write Dockerfiles, see the Docker user guide and the Dockerfile reference.

Step 3: Define services in a Compose file

Create a file called  in your project directory and paste the following:

 

This Compose file defines two services:  and .(这个Compose文件定义了两个服务:web和redis。)这里同一个缩进的就是同级的

[Web service]

The  service uses an image that’s built from the  in the current directory. It then binds the container and the host machine to the exposed port, . This example service uses the default port for the Flask web server, .

web服务使用从当前目录中的Dockerfile构建的映像。然后,它将容器和主机绑定到暴露的端口8000。本示例服务使用Flask web服务器的默认端口5000。

[Redis service]

The  service uses a public Redis image pulled from the Docker Hub registry.
redis服务使用一个从Docker Hub注册表中提取的公共redis镜像。

若是你想对yaml语法更加的了解可以去这里:YAML 入门教程 | 菜鸟教程

[简单提一下yaml的基本语法]

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

Step 4: Build and run your app with Compose

  1. From your project directory, start up your application by running .

     

    Compose pulls a Redis image, builds an image for your code, and starts the services you defined. In this case, the code is statically copied into the image at build time.

[启动效果]

 
 

关闭可以使用"docker-compose down",它会关闭并且删掉容器

 

 进入容器可以使用"docker-compose run web /bin/sh"

 

 docker-compose ps  和 docker-compose top

 

注意:若是你使用的是校园网,且在第四步出现什么下载不了的话,你可以使用手机热点下载试试,校园网是真拉跨

参考文件:Quickstart: Compose and WordPress | Docker Documentation

第一步:创建文件夹

 

第二步:编写docker-compose.yml文件 

 

第三步"docker-compose up -d" 在后台启动

 

[使用wordpress] 

启动之后,我们用"IP地址:端口号"的方式在网站里访问,会得到下面这个界面,选择中文即可

选择之后,输入用户名和密码,要记住用户名和密码待会要用的。登录之后是这个界面

 你可以自己修改着玩,我修改之后重新访问"IP地址:端口号"的界面是这样的。

🚀[删除wordpress的数据]🚀

若是我们想要格式化这个wordpress,必须使用"docker-compose down  --volumes",使用之后,会删除容器,并且删除容器相关的卷和网络等会 。访问的时候,若是一直是这个画面,那么是因为缓存的原因,你需要多等一会,然后在刷新,然后就能成功了。

     本文地址:http://w.yusign.com/news/5810.html    述古往 http://w.yusign.com/static/ , 查看更多
 
标签: 容器 使用
特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。

举报收藏 0打赏 0评论 0
 
更多>同类资讯
0相关评论

相关文章
最新文章
推荐文章
推荐图文
资讯
点击排行
{
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  版权声明  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号