...
代码块 |
---|
apt-get update apt-get remove docker docker-engine docker.io containerd runc apt-getinstallget install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null apt-get update apt install docker-ce docker-ce-cli containerd.io systemctl start docker systemctl enable docker |
导入镜像
下载omc的镜像包omc.tar,导入为镜像.tar,在192.168.1.27的目录:/home/data2/back_up/
(可以使用ssh登录192.168.1.27或者192.168.1.28上自行导出镜像包)。
代码块 |
---|
docker import omc.tar omc:latest |
...
代码块 |
---|
docker run -itd --name omcd --restart=always -p 80:80 -p 20088:20088 -p 28011:28011-network host omc:latest /usr/bin/supervisord -c /etc/supervisor/supervisord.conf |
...
代码块 |
---|
docker exec -it omcd bash |
此时已在容器内部
执行下列命令,运行omcd会重新生成license此时已在容器内部,需要删除旧的配置文件(这步可以在制作镜像时优化,使用时就不用操作这一步了)
代码块 |
---|
rm -rf /omclicense echo "eth0" > /home/ifcName |
重启容器即完成部署
/app/omcd |
生成license成功后会自动退出程序,再将/home/ifcName删除
代码块 |
---|
rm -rf /home/ifcName |
重启程序看到正常日志即部署成功
数据库迁移
有些数据库不是运行在容器内的,迁移时要进入后台关闭mongodb,如果直接kill进程会导致数据库文件异常
代码块 |
---|
#注意替换用户及密码
/home/mongodb/mongodb-linux-x86_64-ubuntu2004-5.0.5/bin/mongo --port 28011 --host 0.0.0.0 -u mXX -p mXX1XXMXX --authenticationDatabase admin
#进入mongo的后台后执行关闭指令
use admin
db.shutdownServer() |
代码块 |
docker restart omcd |