一 安装
curl -L https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
授权:
chmod +x /usr/local/bin/docker-compose
检查安装是否成功:
docker-compose -version
导出全部镜像
docker save $(docker images --format '{{.Repository}}:{{.Tag}}') -o dockerImages.tar
导入全部镜像
docker load -i dockerImages.tar
docker-compose up -d nginx #构建建启动nignx容器
docker-compose exec nginx bash #登录到nginx容器中
docker-compose down #删除所有nginx容器,镜像
docker-compose ps #显示所有容器
docker-compose restart nginx #重新启动nginx容器
docker-compose run --no-deps --rm php-fpm php -v #在php-fpm中不启动关联容器,并容器执行php -v 执行完成后删除容器
docker-compose build nginx #构建镜像 。
docker-compose build --no-cache nginx #不带缓存的构建。
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容器
二 遇到的问题
- 配置的端口映射的时候,如果是host的模式下,配置端口是不可能起作用,因为是和主机用相同的端口了
- nginx代理的时候要注意了,最后地址加上/会删除/prod-api
location /prod-api/ {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:5287/;