docker问题命令到容器内的应用程序?
我正在使用nodeBB
启动一个服务器,你可以运行./nodebb start
停止你可以做./nodebb stop
。 现在,我已经dockerized它http://nodebb-francais.readthedocs.org/projects/nodebb/en/latest/installing/docker/nodebb-redis.html我不知道如何可以与它交互。
我已经按照步骤“使用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
命令,又不知道怎么做?
我的问题是我如何能够与泊坞窗容器内的应用程序进行交互,就好像我可以直接访问项目文件夹本身一样? 我错过了什么吗?
在这个答案中的所有代码是未经testing的,因为我目前在没有docker的电脑。
看看容器是否仍在运行
docker ps
停止错误configuration的容器
docker stop my-forum-redis docker stop my-forum-nodebb
删除错误configuration的容器及其容量
(他们基于的docker图像将被保留。)
docker rm --volumes --force stop my-forum-nodebb docker rm --volumes --force my-forum-redis
重新开始
然后,再次发出您的3个命令 ,现在使用正确的端口。
执行容器内的任意命令
另外我想在项目目录下发出grunt命令,又不知道怎么做?
你可能想在docker run --name my-forum-nodebb ...
之后执行以下命令docker run --name my-forum-nodebb ...
命令,但是在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
地方replace。