docker构建lnmp环境,docker-compose.yaml文件内容如下:
version: "3.6" services: # 代表就是构建一组服务 -》一组容器 php,nginx,redis php: # 要创建的服务-》就是容器php build: context: ./php #由dockerFile生成 image: php_compose container_name: php_compose # 指定创建的容器名称 ports: # 绑定端口 - "9001:9000" # - "宿主机端口 : 容器端口" volumes: # 数据卷 - "//echo/docker/shine2004/09/lnmp/php/www:/www" # - "宿主机目录 : 容器目录" nginx: # 要创建的服务-》就是容器nginx build: context: ./nginx image: nginx_compose container_name: nginx_compose # 指定创建的容器名称 ports: - "8001:80" volumes: - "//echo/docker/shine2004/09/lnmp/nginx/conf:/conf" command: top redis: # 要创建的服务-》就是容器redis image: redis5asm container_name: redis_compose # 指定创建的容器名称 ports: - "6379:6379" command: topdocker-compose.yaml文件下执行: docker-compose up -d
问题: 信息显示我们启动的容器状态为Exited (1) About a minute ago,也就是说虽然创建了容器,但是该容器并未正常运行;
控制终端缺失 启动失败是因为缺失了控制终端的配置,这里有两种方式修复;
使用tty参数(推荐使用) 修改docker-compose.yml,增加一个配置tty:true,如下:
master: image: java:8u111-jdk tty: true 1 2 3 先执行docker-compose down将之前的容器删除,再执行docker-compose up -d启动,可以发现启动成功,并且可以成功进入容器进行操作
dokcer查看日志
docker logs -f -t --since="2018-02-08" --tail=100 容器名