前言在没有docker-compose之前,我们创建和启动一个容器方式如下:1.通过类似下面两种方式的命令来构建或者拉取一个docker镜像。方式1:创建Dockerfile文件来构建镜像(命令最后的点别漏了~):docker build -t registry.cn-beijing.aliyuncs.com/wangjihong/nacos-server:1.0.0 .方式2: 直接从Docker Hub或者阿里云或者网易云等等平台拉取镜像。docker pull registry.cn-beijing.aliyuncs.com/wangjihong/nacos-server:1.0.02.使用命令docker run …来来依赖镜像创建并运行一个容器,中间还要加一些复杂的参数。docker run –restart always –privileged=true -e MODE=standalone -e SPRING_DATASOURCE_PLATFORM=“mysql” -e MYSQL_MASTER_SERVICE_HOST=“www.wangjihong.com.cn” -e MYSQL_MASTER_SERVICE_PORT=“3300” -e MYSQL_MASTER_SERVICE_DB_NAME=“nacos” -e MYSQL_MASTER_SERVICE_USER=“root” -e MYSQL_MASTER_SERVICE_PASSWORD=“123456” -e MYSQL_SLAVE_SERVICE_HOST=“www.wangjihong.com.cn” -e MYSQL_SLAVE_SERVICE_PORT=“3301” -v=/usr/local/dockerfiles/nacos/data:/home/nacos/data -v=/usr/local/dockerfiles/nacos/logs:/home/nacos/logs –name docker-nacos-server1.0.0 -d -p 8848:8848 registry.cn-beijing.aliyuncs.com/wangjihong/nacos-server:1.0.03.使用命令docker exec …进入容器操作。docker exec -it docker-nacos-server1.0.0 bash4.查看容器启动日志。docker logs -f docker-nacos-server1.0.0综上我们可以看出,运行单个docker容器我们要用命众多命令来管理容器,这种情况下若是只运行一个容器还好,但如果我们有一堆容器(如: mysql 、kibana、 elasticsearch 等等…)需要执行的话,这样管理是极其麻烦的,利器docker-compose 的出现便解决了此类问题。What-什么是docker-composedocker-compose是一个批处理工具,我们可以通过配置一个docker-compose.yml文件去定义多个容器的应用,通过一条命令就可以根据docker-compose.yml文件创建出指定的容器,文件格式如下(使用docker-compose.yml部署微服务调用链监控组件skywalking):version: ‘2’services: elasticsearch: image: elasticsearch:5.6 container_name: elasticsearch ports: - 9200:9200 volumes: - ./es/data:/usr/share/elasticsearch/data - ./es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml kibana: image: kibana:5.6 container_name: kibana ports: - 5601:5601 links: - elasticsearch:elasticsearch depends_on: - elasticsearch environment: ELASTICSEARCH_URL: http://elasticsearch:9200 skywalking: image: weihanli/skywalking:5.0.0-GA container_name: skywalking ports: - 10800:10800 - 11800:11800 - 12800:12800 - 8090:8080 volumes: - ./skywalking/application.yml:/app/skywalking/config/application.yml links: - elasticsearch:elasticsearch depends_on: - elasticsearchWhy-为什么要用docker-compose可参考前言介绍。How-如何使用docker-compose安装docker-compose从github上下载docker-compose二进制文件 https://github.com/docker/com… 并按描述安装。1.下载最新版的docker-compose文件。sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s-uname -m` -o /usr/local/bin/docker-compose2.添加可执行权限。sudo chmod +x /usr/local/bin/docker-compose3.测试安装结果。docker-compose –version4.安装pip。sudo pip install docker-compose运行docker-compose1.在centos上创建一个docker-compose.yml文件,里面写上自己的多容器内容,如上述skywalking对应的文件内容。2.最后在centos上打开docker-compose.yml所在的文件夹路径下执行docker-compopse up就可以启动了,如果需要后台启动则为docker-compopse up -d。总结本文只是介绍了docker-compose基本内容,想深入了解可以自行查资料,嘿嘿。