docker-compose

前几天使用docker 部署了nexus等项目。今天尝试使用docker-compose部署一下项目。确实是很方便。做个记录

感谢一波博主:借鉴了少走弯路。hakusai22

先贴一个版本。虽然我还是不太清楚版本有什么关系。

[root@localhost ~]# docker version
Client:
 Version:         1.13.1
 API version:     1.26
 Package version: docker-1.13.1-209.git7d71120.el7.centos.x86_64
 Go version:      go1.10.3
 Git commit:      7d71120/1.13.1
 Built:           Wed Mar  2 15:25:43 2022
 OS/Arch:         linux/amd64

Server:
 Version:         1.13.1
 API version:     1.26 (minimum version 1.12)
 Package version: docker-1.13.1-209.git7d71120.el7.centos.x86_64
 Go version:      go1.10.3
 Git commit:      7d71120/1.13.1
 Built:           Wed Mar  2 15:25:43 2022
 OS/Arch:         linux/amd64
 Experimental:    false
[root@localhost ~]# docker-compose version
docker-compose version 1.27.4, build 40524192
docker-py version: 4.3.1
CPython version: 3.7.7
OpenSSL version: OpenSSL 1.1.0l  10 Sep 2019

在此处分析以后得出结论。先贴一图:

Compatibility matrix

There are several versions of the Compose file format – 1, 2, 2.x, and 3.x

This table shows which Compose file versions support specific Docker releases.

Compose file format Docker Engine release
Compose specification 19.03.0+
3.8 19.03.0+
3.7 18.06.0+
3.6 18.02.0+
3.5 17.12.0+
3.4 17.09.0+
3.3 17.06.0+
3.2 17.04.0+
3.1 1.13.1+
3.0 1.13.0+
2.4 17.12.0+
2.3 17.06.0+
2.2 1.13.0+
2.1 1.12.0+
2.0 1.10.0+

从官网看出docker engine 1.31.1对应的是3.1。然后贴出docker-compose.yml

version: "3.1" #此处使用30,31都可以

services:
 tomcat:
  image: 549414168/tomcat:v1
  ports:
   - 8080:8080
 nexus:
  image: 549414168/nexus:v1
  ports:
   - 8081:8081

也就是官网对应的版本是指yml中的version和docker-compose的版本无关。它只是一个工具。

然后先测试一下docker-compose是否可用。

docker-compose up

可以看到两个镜像都启动了容器并且同时运行了起来。

接下来学习一些docker-compose命令

docker-compose config ##检查docker-compose.yml配置文件中的问题,没有问题就打印出来。

docker-compose up -d ##启动服务,d为后台启动

docker-compose down ##停止所有up命令启动的容器

docker-compose rm ##删除所有停止状态的服务容器

docker-compose logs -f [servicesName] ## 查看日志

docker-compose images ##查看项目中所包含的镜像

docker-compose port serviceName port ##查看容器端口映射的公共端口

docker-compose ps ##列出项目目前的所有容器

docker-compose run serviceName Shell ##在指定服务上运行一个命令

docker-compose scale service1=num service2=num ##启动指定数量的服务

docker-compose stop、start ##停止启动容器,但不删除

docker-compose top [servicesName] ##查看各个服务器容器内的进程

docker-compose pause、unpause ##暂停回复暂停状态的服务

你可能感兴趣的:(docker,linux,运维)