【问题标题】:Docker compose isnt writing files or directories to hostDocker compose 不会将文件或目录写入主机
【发布时间】:2020-07-31 18:06:03
【问题描述】:

我正在按照数字海洋教程通过 docker 安装 wordpress

https://www.digitalocean.com/community/tutorials/how-to-install-wordpress-with-docker-compose

它说如果 certbot 不是 0,我会收到以下错误,我说没有日志文件可以查看。 Docker 新手感谢大家的帮助!

编辑:我注意到这个 docker-compose 没有一个卷是在主机上创建的

  Name                 Command               State           Ports       
-------------------------------------------------------------------------
certbot     certbot certonly --webroot ...   Exit 1                      
db          docker-entrypoint.sh --def ...   Up       3306/tcp, 33060/tcp
webserver   nginx -g daemon off;             Up       0.0.0.0:80->80/tcp 
wordpress   docker-entrypoint.sh php-fpm     Up       9000/tcp 

这里是 Docker-compose.yml

version: '3'

services:
  db:
    image: mysql:8.0
    container_name: db
    restart: unless-stopped
    env_file: .env
    environment:
      - MYSQL_DATABASE=wordpress
    volumes: 
      - dbdata:/var/lib/mysql
    command: '--default-authentication-plugin=mysql_native_password'
    networks:
      - app-network

  wordpress:
    depends_on: 
      - db
    image: wordpress:5.1.1-fpm-alpine
    container_name: wordpress
    restart: unless-stopped
    env_file: .env
    environment:
      - WORDPRESS_DB_HOST=db:3306
      - WORDPRESS_DB_USER=$MYSQL_USER
      - WORDPRESS_DB_PASSWORD=$MYSQL_PASSWORD
      - WORDPRESS_DB_NAME=wordpress
    volumes:
      - wordpress:/var/www/html
    networks:
      - app-network

  webserver:
    depends_on:
      - wordpress
    image: nginx:1.15.12-alpine
    container_name: webserver
    restart: unless-stopped
    ports:
      - "80:80"
    volumes:
      - wordpress:/var/www/html
      - ./nginx-conf:/etc/nginx/conf.d
      - certbot-etc:/etc/letsencrypt
    networks:
      - app-network

  certbot:
    depends_on:
      - webserver
    image: certbot/certbot
    container_name: certbot
    volumes:
      - certbot-etc:/etc/letsencrypt
      - wordpress:/var/www/html
    command: certonly --webroot --webroot-path=/var/www/html --email sammy@example.com --agree-tos --no-eff-email --staging -d example.com -d www.example.com

volumes:
  certbot-etc:
  wordpress:
  dbdata:

networks:
  app-network:
    driver: bridge  

【问题讨论】:

  • 你能用你的 certbot dead 容器的 docker logs 输出更新你的问题吗?
  • 运行 docker logs certbot 时创建的日志似乎没有日志或目录
  • 我还注意到没有创建任何卷
  • 您可以尝试手动运行 certbot 容器,使用相同的参数来查看错误吗? docker run -v certbot-etc:/etc/letsencrypt.... 。当然,在其他人启动后运行它

标签: docker docker-compose certbot


【解决方案1】:

这里创建的卷被命名为卷。

检查命名卷运行: docker-compose volume ls

此外,根据上述评论,您可以通过以下方式检查 certbot 日志: docker-compose logs certbot

卷和容器日志不会使用 docker 显示,除非您使用可以找到的特定容器和卷名称: docker-compose lsdocker-compose volume ls

或者使用上面的docker-compose 变体

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-08
    • 1970-01-01
    • 1970-01-01
    • 2023-02-19
    • 2019-12-01
    • 1970-01-01
    相关资源
    最近更新 更多