docker 运行多条命令失败的解决方案
来源:互联网 发布:mac管理iphone照片 编辑:程序博客网 时间:2024/05/17 23:03
版本:
Docker Server Version: 1.12.5
背景:
项目用到了celery,需要在我们项目跑起来之前,保证celery服务是开启的。
开启celery:
celery -A celery_task worker -B -Q celery,lazy_queue开启我们的服务:
python /data/xxxx/myapp/main.py --port=9999谷歌到只需要两个命令用&&连接即可:
docker run -itd -v /data/xxxx/myapp:/data/xxxx/myapp -v /data/logs/myapp:/data/logs/myapp -v /etc/localtime --link myredis1:myredis1 --name myapp1 -p 9999:9999 myapp:v1 celery -A celery_task worker -B --workdir /data/xxxx/myapp/mycelery && python /data/xxxx/myapp/main.py --port=9999
竟然报错了,环境找不到tormysql库?咦明明安装了呢,而且进入docker环境也能import tormysql成功。
为何会报这种 ImportError: No module named tormysql?
感觉是python有很多个,然后用了一个没安装环境的。
进入docker,whereis python:
[root@edd1425beb55 /]# whereis pythonpython: /usr/bin/python /usr/bin/python2.7 /usr/bin/python2.7-config /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/include/python2.7可怕果然有很多python环境,修改我们的docker run指令:
docker run -itd -v /data/xxxx/myapp:/data/xxxx/myapp -v /data/logs/myapp:/data/logs/myapp --link myredis1:myredis1 --name myapp1 -v /etc/localtime:/etc/localtime -p 9999:9999 myapp:v1 celery -A celery_task worker -B --workdir /data/xxxx/myapp/mycelery && /usr/bin/python2.7 /data/xxxx/myapp/main.py --port=9999
然而并没有什么卵用。还是报找不到tormysql。
我灵机一动,这个python不会是宿主机的python吧,然后在宿主机pip install tormysql,我擦啦,测试通过。
啧啧啧,这第二个命令竟然用的是宿主机的python!!!
在csdn看到一个博主 http://blog.csdn.net/songchaomail/article/details/46547651
用sh -c ‘xxx && xxx’,在这个基础上,我们也改成如此 sh -c 'xxx | xxx':
docker run -itd -v /data/xxxx/myapp:/data/xxxx/myapp -v /data/logs/myapp:/data/logs/myapp --link myredis1:myredis1 --name myapp1 -v /etc/localtime:/etc/localtime -p 9999:9999 myapp:v1 sh -c '/usr/bin/python2.7 /data/xxxx/myapp/main.py --port=9999 | celery -A celery_task worker -B -Q lazy_queue,celery -Ofair --workdir /data/xxxx/myapp/mycelery'运行成功。
以上
阅读全文
1 0
- docker 运行多条命令失败的解决方案
- Genymotion运行失败的解决方案
- 【Docker】Docker push失败的问题相关解决方案和实践
- docker run 一次执行多条命令的方法
- 几条简单的docker命令
- docker:一次执行,多条命令
- docker命令执行慢的解决方案
- docker exec 运行命令
- 批处理如何同时运行多条命令
- ubuntu开机运行多条命令
- python 运行多条shell命令
- 执行docker daemon命令时出错的解决方案
- docker 运行的新容器不能使用常规的命令
- docker运行image相关命令
- Docker 运行 Tomcat7.0.79 命令
- Ubuntu使用命令安装jdk失败的解决方案
- docker run命令概述及Docker容器的两种运行模式
- css中的chaining技术是允许在相同的元素上运行多条命令,一条接着另一条。
- 【面向CSS--4.浏览器兼容性】
- 关于并发修改
- navicat:复制表到另外一个数据库_
- cf Manthan, Codefest 17 E. Salazar Slytherin's Locket
- 无所不在的JavaScript与物联网设备
- docker 运行多条命令失败的解决方案
- Unix——学习《Unix环境高级编程》找不到“apue.h”方法
- rsyslog
- mysql,oracle的分页查询
- MySQL对于有大量重复数据表的处理方法
- windows server 2012 安装 VC14(VC2015) 安装失败解决方案
- 微信公众平台开发OAuth2.0网页授权
- Python numpy函数:arange()
- 4Sum