1、安装:
yum install python-pip pip install docker-compose
2、安装之后,查看docker-compose版本:
docker-compose --version
3、docker-compose常用命令:
docker-compose -f my.yaml version 查看docker-compose版本信息 docker-compose -f lnmp.yaml images 列出镜像 docker-compose -f lnmp.yaml images -q 列出镜像ID docker-compose up -d nginx 构建建启动nignx容器 docker-compose exec nginx bash 登录到nginx容器中 docker-compose -f lnmp.yaml exec nginx env 在容器中运行命令 docker-compose down 停止且删除容器、网络、卷、镜像 docker-compose ps 显示所有容器 docker-compose build 构建(重新构建)项目中的服务容器 docker-compose build nginx 构建指定镜像 docker-compose build --no-cache nginx 不带缓存的构建 docker-compose restart nginx 重新启动nginx容器 docker-compose run --no-deps --rm php-fpm php -v 在php-fpm中不启动关联容器,并容器执行php -v 执行完成后删除容器 docker-compose logs nginx 查看nginx的日志 docker-compose logs -f nginx 查看nginx的实时日志 docker-compose config -q 验证(docker-compose.yml)文件配置,当配置正确时,不输出任何内容,当文件配置错误,输出错误信息。 docker-compose events --json nginx 以json的形式输出nginx的docker日志 docker-compose pause nginx 暂停nignx容器 docker-compose unpause nginx 恢复ningx容器 docker-compose rm nginx 删除容器(删除前必须关闭容器) docker-compose stop nginx 停止nignx容器 docker-compose start nginx 启动nignx容器 docker-compose -f my.yaml scale nginx=2 将nginx容器扩容为两个 docker-compose -f my.yaml top 显示运行进程 docker-compose -f my.yaml top nginx 指定某一个service
接下来讲解使用docker-compose一键打包环境:
1、创建好项目环境相关目录:
├── docker-compose.yaml ├── mysql │ ├── conf │ ├── data │ └── Dockerfile ├── nginx │ ├── conf │ │ └── nginx.conf │ └── Dockerfile ├── php │ └── Dockerfile └── www
2、配置文件docker-compose.yaml
vim docker-compose.yaml
可以配置多个服务和所需软件,这里只配置nginx、php、mysql,当然也可以继续加入其它服务软件进行一起打包处理。
version: '3' services: nginx: build: ./nginx 如果使用Dockerfile文件构建,则使用这个进行安装构建 #image: nginx:latest 也可以直接指定镜像进行构建,注意,这里的版本必须在docker hub上有才可以,否则会报错 ports: - "80:80" #映射端口,格式为主机端口:容器服务端口 links: - "php" volumes: - /home/dnmp/nginx/nginx.conf:/etc/nginx/conf.d/default.conf #映射主机到容器文件,格式为:主机目录或文件:docker容器内目录或文件 - /home/dnmp/www:/var/www #映射挂载目录,格式为:主机目录:docker容器内目录 php: build: ./php #image: php:7.2-fpm ports: - "9000:9000" links: - "mysql" volumes: - /home/dnmp/www:/var/www mysql: build: ./mysql #image: mysql:5.7 ports: - "3306:3306" volumes: - /home/dnmp/mysql/data/:/var/lib/mysql/ #映射文件 environment: MYSQL_ROOT_PASSWORD: 123456 #环境变量,这里指定数据库密码
3、如果不直接使用image安装,则可使用dockerfile进行灵活配置安装:
vim ./mysql/Dockerfile
FROM mysql:5.7
vim ./php/Dockerfile
FROM php:7.3-fpm RUN apt-get update && apt-get install -y \ libfreetype6-dev \ libjpeg62-turbo-dev \ libpng12*-dev \ vim \ && docker-php-ext-install pdo_mysql \ && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \ && docker-php-ext-install gd \
vim ./nginx/Dockerfile
FROM nginx:1.19 RUN apt-get update && apt-get install -y vim
4、配置nginx.conf
server { listen 80; server_name localhost; location / { root /var/www; index index.html index.htm index.php; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /var/www; } location ~ \.php$ { fastcgi_pass php:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/$fastcgi_script_name; include fastcgi_params; } }
5、在www新增一个文件index.php
vim index.php
6、在dnmp目录下执行命令,进行安装构建:
docker-compose up docker-compose up -d #后台运行
7、访问:http://IP/index.php
转载请注明:永盟博客 » docker-compose