docker-compose 构建成功,但是 ps 命令有些容器不显示?

yml 文件代码如下:

version: '3'
services:
  nginx-server-8018:
    container_name: nginx-8018
    image: nginx:latest
    depends_on:
      - php-server-8018
      - mysql-server-8018
    tmpfs: /home/yhm/docker-test #挂载临时目录到容器内部,数据是保存到内存中的
    ports:
      - 8018:80 #端口映射,外部端口:内部端口
    networks:
      - nginx-networks
    volumes: #映射宿主机和容器目录,数据是永久保存的
#      - /home/yhm/docker-test:/etc/nginx/conf.d/ #宿主机目录:容器目录
      - ./:/usr/share/nginx/html1
  php-server-8018:
    container_name: php-8018
    #build: ./php/
    image: php:7.4
  mysql-server-8018:
    container_name: mysql-8018
    image: mysql:latest
    environment: #设置镜像变量,它可以保存变量到镜像里面,也就是说启动的容器也会包含这些变量设置
      MYSQL_ROOT_PASSWORD: "123456"
      MYSQL_DATABASE: ""
      MYSQL_USER: "root"
      MYSQL_PASSWORD: "123456"
    volumes:
      - /home/yhm/docker-test:/var/lib/mysql
networks:
  nginx-networks:
    driver: bridge

然后执行如下两个命令,显示如下:

yhm@:~/server/test$ docker-compose -f ./test.yml up -d
[+] Running 3/3
 ⠿ Container nginx-8018  Started                                                          1.2s
 ⠿ Container php-8018    Started                                                          0.4s
 ⠿ Container mysql-8018  Started                                                          0.3s
yhm@:~/server/test$ docker ps
CONTAINER ID   IMAGE          COMMAND                  CREATED         STATUS         PORTS                                   NAMES
86a53dc2546a   nginx:latest   "/docker-entrypoint.…"   4 seconds ago   Up 2 seconds   0.0.0.0:8018->80/tcp, :::8018->80/tcp   nginx-8018

最后的 ps 命令为何只显示了 nginx,而没有 php 和 mysql 呢?

请高人指点一二,谢谢!

阅读 4.4k
2 个回答

答案:另外两个挂了

为什么你看不到错误信息?
因为你用了 -d

你使用docker ps -a 是不是有容器启动崩溃了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏