Docker 向容器内的应用程序发出命令?
Docker issue commands to an app inside container?
我正在使用 nodeBB
启动服务器,您可以 运行 ./nodebb start
停止您可以 ./nodebb stop
。现在我已经 docker 化了它 http://nodebb-francais.readthedocs.org/projects/nodebb/en/latest/installing/docker/nodebb-redis.html 我不确定如何与它互动。
我已经按照步骤"Using docker-machine mac os x"
docker run --name my-forum-redis -d -p 6379:6379 nodebb/docker:ubuntu-redis
然后
docker run --name my-forum-nodebb --link my-forum-redis:redis -p 80:80 -p 443:443 -p 4567:4567 -P -t -i nodebb/docker:ubuntu
然后
docker start my-forum-nodebb
我在使用 redis 地址时遇到问题,所以我想修复它并重新启动,但我不确定如何做?另外我想在项目目录中发出命令 grunt
,再次不确定如何?
我的问题是如何与 docker 容器内的应用程序交互,就好像我可以直接访问项目文件夹本身一样?我错过了什么吗?
此答案中的所有代码都未经测试,因为我目前使用的计算机没有 docker。
查看容器是否还在运行ning
docker ps
停止配置错误的容器
docker stop my-forum-redis
docker stop my-forum-nodebb
删除配置错误的容器及其卷
(它们所基于的 docker 个图像将被保留。)
docker rm --volumes --force stop my-forum-nodebb
docker rm --volumes --force my-forum-redis
重新开始
然后,再次发出 3 commands,现在使用正确的端口。
在容器内执行任意命令
Also I would like to issue the command grunt in the project directory, again not sure how?
您可能希望在 docker run --name my-forum-nodebb ...
命令之后但在 docker start my-forum-nodebb
.
之前执行以下操作
docker run
接受要执行的命令而不是容器的默认命令。让我们首先使用它来找出我们将降落在容器中的哪个位置:
docker run my-forum-nodebb pwd
如果那是您要 运行 grunt
的目录,请继续:
docker run my-forum-nodebb grunt
否则,您将不得不将多个命令塞入一个命令中。您可以通过调用 shell:
docker run my-forum-nodebb bash -c 'cd /path/to/project/dir; grunt'
其中 /path/to/project/dir
将替换为您想要 运行 grunt
.
的位置
我正在使用 nodeBB
启动服务器,您可以 运行 ./nodebb start
停止您可以 ./nodebb stop
。现在我已经 docker 化了它 http://nodebb-francais.readthedocs.org/projects/nodebb/en/latest/installing/docker/nodebb-redis.html 我不确定如何与它互动。
我已经按照步骤"Using docker-machine mac os x"
docker run --name my-forum-redis -d -p 6379:6379 nodebb/docker:ubuntu-redis
然后
docker run --name my-forum-nodebb --link my-forum-redis:redis -p 80:80 -p 443:443 -p 4567:4567 -P -t -i nodebb/docker:ubuntu
然后
docker start my-forum-nodebb
我在使用 redis 地址时遇到问题,所以我想修复它并重新启动,但我不确定如何做?另外我想在项目目录中发出命令 grunt
,再次不确定如何?
我的问题是如何与 docker 容器内的应用程序交互,就好像我可以直接访问项目文件夹本身一样?我错过了什么吗?
此答案中的所有代码都未经测试,因为我目前使用的计算机没有 docker。
查看容器是否还在运行ning
docker ps
停止配置错误的容器
docker stop my-forum-redis
docker stop my-forum-nodebb
删除配置错误的容器及其卷
(它们所基于的 docker 个图像将被保留。)
docker rm --volumes --force stop my-forum-nodebb
docker rm --volumes --force my-forum-redis
重新开始
然后,再次发出 3 commands,现在使用正确的端口。
在容器内执行任意命令
Also I would like to issue the command grunt in the project directory, again not sure how?
您可能希望在 docker run --name my-forum-nodebb ...
命令之后但在 docker start my-forum-nodebb
.
docker run
接受要执行的命令而不是容器的默认命令。让我们首先使用它来找出我们将降落在容器中的哪个位置:
docker run my-forum-nodebb pwd
如果那是您要 运行 grunt
的目录,请继续:
docker run my-forum-nodebb grunt
否则,您将不得不将多个命令塞入一个命令中。您可以通过调用 shell:
docker run my-forum-nodebb bash -c 'cd /path/to/project/dir; grunt'
其中 /path/to/project/dir
将替换为您想要 运行 grunt
.