hyperf.docker基本启动命令实践

Posted by epimetheusQ on 2021-09-29

什么是容器

image是镜像,通过copy镜像,形成一个container。

hyperf通过容器基本命令进行启动

1
docker run -d --name hyperf -v /usr/local/var/WWWW:/data/project -p 9401:9401 -p 9501:9501 -it --privileged -u root --entrypoint /bin/bash hyperf/hyperf:7.4-alpine-v3.11-swoole
    -d 后台运行
    --name 别名
    -v 映射共享目录,{本地路径}:{容器内路径}
    -p 开放端口
    -it 交互方式
    --entrypoint 进入容器后需要执行的命令 /bin/bash 代表需要打开交互
    -u 指定执行命令时,所使用的用户,不指定时,默认以root用户执行

    -e 指定环境变量, 格式  -e XXX_XXX='xxxxx'

    这些统称为参数,执行文件是:hyperf/hyperf:7.4-alpine-v3.11-swoole

    此时,下载了hyperf/hyperf:7.4-alpine-v3.11-swoole,并且在后台执行了这个image,生成了一个新的容器,run就是生成一个新的容器。

    docker ps 查看正在运行的容器

    进入容器内部 docker exec -it {containerId} /bin/bash 进入 /data/project 发现并未和宿主机的项目对应起来,检查发现路径错误,导致路径没有被检索到。

    停掉容器
    docker stop {containerId}
    docker rm  {containerId}

    然后执行:
    docker run -d --name hyperf -v /usr/local/var/www:/data/project -p 9401:9401 -p 9501:9501 -it --privileged -u root --entrypoint /bin/bash hyperf/hyperf:7.4-alpine-v3.11-swoole

    docker ps 查看正在运行中的容器,找到容器对应的containerId,docker exec -it {containerId} /bin/bash

    进入容器后,exit退出来。

    docker stop {containerId} 关闭容器。

    docker ps -a 查看所有执行过得容器,找到我们的容器(可以设置别名)

    docker start {containerId}
    docker exec -it {containerId} /bin/bash

    .....