注:每个人的环境可能不一样,进攻参考!
下面以nova_api为例,讲解手动替换nova容器中的代码,如何是代码生效:
1.进入nova_api容器
#docker exec -t -ui root nova_api bash
2.在容器中进入nova源码目录
#cd /nova-base-source/nova-0.0.1.dev45271
3.在容器中查找nova的编译目录
#find / -name nova
4.在容器中删除nova代码,并copy目标代码到nova_api容器
删除nova代码:
#rm -rf /nova-base-source/nova-0.0.1.dev45271/nova
删除nova编译目录:
#rm –rf /var/lib/kolla/venv/lib/python2.7/site-packages/nova
删除编译生成的egg文件:
#rm -rf /var/lib/kolla/venv/lib/python2.7/site-packages/nova-0.0.1.dev45271-py2.7.egg-info
删除编译生成的build目录:
#rm –rf /nova-base-source/nova-0.0.1.dev45271/build
退出容器:
#exit
5.在容器外部拷贝代码到删除的nova代码的目录
#docker cp /home/nova nova_api:/nova-base-source/nova-0.0.1.dev45271/
6.进入nova_api容器,切换到代码目录/nova-base-source/nova-0.0.1.dev45271
编译,使代码生效
#python setup.py install
7.重启容器
#docker stop nova_api
#docker start nova_api
或者执行:docker restart nova_api
祝你好运连连......:)