目录
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更好
- 可以快速批量启动容器,效率高
- 不容易出错,可靠性高
[结果查看]
官方参考资料: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
-
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",使用之后,会删除容器,并且删除容器相关的卷和网络等会 。访问的时候,若是一直是这个画面,那么是因为缓存的原因,你需要多等一会,然后在刷新,然后就能成功了。