大家好,我是好学的小师弟,今天和大家分享下docker-compose的一些常用语法和编写实战
docker-compose是一个二进制文件,我们通常都是通过github把它下载下来,然后给他执行的权限。
下载docker-compose,在github上下载,下载完后记得把名字改一下,最好改为docker-compose, 然后通过ssh工具上传到服务器上 /usr/local/bin目录下
然后赋予执行权限
Chmod +x /usr/local/bin/docker-compose
然后查看 是否安装成功
docker compose --version
docker-compose是一个用来编排容器的方式,它可以编排单机环境下的容器。比如一台服务器中,你要起一个web容器服务,一个redis容器服务,那么你就可以在docker-compose文件中编写。
docker-compose 常用的语法
docker-compose ps 列出所有运行的容器
docker-compose logs 查看服务日志输出
docker-compose build 构建或者重新构建服务(这里只是构建,还没有启动)
docker-compose start|stop 启动|停止已存在的某个或多个容器
docker-compose rm 删除指定的某个容器
docker-compose up 构建、启动容器(一般都是用这条命令,包含了构建和启动)
docker-compose.yml文件语法
因为我们一般是创建一个docker-compose.yml文件,在这个yml文件中,我们来编写命令行。yaml格式的文件,有点类似于json的键值对格式。注意:冒号后面要空一格,yaml格式的文件主要是靠空格来划分作用域的。
#docker-compose的例子
version: "2"
services:
TestCompose:
build: /root/test-Dockerfile #在docker-compose中,build只能指向一个目录
image: "this-docker-compose-test:test-docker-compose"
container_name: docker-compose-TestContainer
ports:
- “8011:8080”
volumes:
- /data/test:/data/test
depends_on:
- redis
redis:
image: redis:latest
#version 填写的是compose的版本号
#services是服务的意思
#Testcompose是服务的名字,一个services中可以含有多个服务
#Build 是构建的意思,如果我们的镜像是dockerfile文件,那么我们就用build构建一个镜像,build 后面的参数,是指向dockerfile文件目录的参数
#Image 是镜像,如果没有build 那么image就是直接拉取的官方镜像;如果有build,那么image就是build后构建的镜像的名字
#Container_name 就是构建后的容器的名字
#Ports就是映射端口:容器端口
#Volumes 宿主机目录:容器目录
#Depends_on 依赖,比如我启动的这个TestCompose服务,就需要先启动redis这个服务;depends_on就是一个容器启动顺序的命令
docker-compose.yml文件通常是放在Dockerfile的同级目录或者子目录下的
写完yaml文件后,只需要输入命令行,即可启动服务
docker compose up -d
#这样即可启动你的服务
由于学习时间尚短,可能有出错的地方,希望大家见谅 >-<!
新人创作不易,觉得不错的看官,点个赞吧,么么哒!!!
转载注明出处!