ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
## 退出状态为exit(0) 容器运行的命令如果不是那些一直挂起的命令(比如运行top,tail), 就是会自动退出,这个是docker的机制问题 所以要手动run,这里以`easyswoole`为例 ``` # docker-compose run 容器名 命令(默认在workerdir执行) docker-compose run easyswoole php easyswoole start ``` ## 如何进入容器 ``` # 启动后 docker-compose exec 服务名 bash docker exec -it 镜像名 /bin/bash # 启动前 docker-compose run 服务名 bash docker run -it 镜像名 /bin/bash ``` ## 容器和宿主机之间数据复制 解决宿主机挂载容器目录,由于宿主机为空,导致容器目录内本有的文件也为空。 因为容器提倡的理念就是“即开即用,用完可扔”。 一切要在容器里更改的文件都要挂载到宿主机上。 如果容器里面本身就有数据文件,就cp出来挂载到宿主机上,这相当于在原有容器数据上新加一层进行处理。 [参考链接](https://www.cnblogs.com/wholj/p/10411023.html) ~~~ # 将主机的文件复制到容器中 (不建议用) docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH # 将容器中的文件复制到主机 (建议) docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH| # 例,如果 docker cp -a 1fff652f1119:/easyswoole /home/docker/wwwroot/easyswoole/ ~~~