使用curl将docker-compose文件下载到/usr/local/bin/docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.27.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
但通常因为网速原因访问下载慢或失败,可以改为国内站点下载,使用以下链接。
sudo curl -L "https://get.daocloud.io/docker/compose/releases/download/1.27.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose使用python编写,所以会看到依赖的python版本
$ docker-compose version docker-compose version 1.27.3, build 4092ae5d docker-py version: 4.3.1 CPython version: 3.7.7 OpenSSL version: OpenSSL 1.1.0l 10 Sep 2019
使用官方示例,不到一分钟部署一个WordPress博客站点
创建并进入my_wordpress/文件夹,编写docker-compose.yml启动文件,复制以下内容
version: '3.3' services: db: image: mysql:5.7 volumes: - db_data:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: somewordpress MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress wordpress: depends_on: - db image: wordpress:latest ports: - "8000:80" restart: always environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: wordpress WORDPRESS_DB_NAME: wordpress volumes: db_data: {}
执行docker-compose up -d启动容器,如下图执行成功,镜像不存在,会自动pull相关镜像。
执行docker ps查看运行容器
可以看到docker-compose.yml启动文件中将wordpress站点的端口映射到了8000端口,访问8000端口
成功,使用docker-compose来启动多个容器就是这么简单。
使用docker-compse down停止运行的项目
在docker-compose.yml文件所在处执行,或使用-f指定文件路径。若启动时使用-p指定了项目名,删除时同样需要加上-p项目名。
删除项目会删除启动的容器、网络,创建数据卷默认不会被删除。
更多用法和教程推荐去官网进行查看学习,地址:https://docs.docker.com/compose/