关于把项目移植到docker里面的记录

简述

一个很老的jsp项目,结构不了解,需要在多个环境配置,因此选择了docker来在不同环境移植。主要用到java。

相关docker备忘

用到的docker相关命令:(省略最前面的docker命令)

作用命令备注
启动run -idt image /bin/bash-d是后台
连接exec -it [name] /bin/bash这个exit不会退出
命名run --name [name]
端口映射run -p 8080:8080p指定P随机
复制cp [路径] [容器名]:[路径]反过来也可以
显示ps-a是全部
关闭close
删除rm不能删除镜像
删镜像rmi

启动就用:
docker run -idt -p 8080:8080 --name 名字 镜像名:版本 /bin/bash
连接就用:
docker exec -it [名字或id] /bin/bash

启动之后建议开两个终端,一个在容器里面一个在外面,会很方便

关于docker内配置的问题:

环境变量

首先是环境,每次启动都会有PATH和JAVA_HOME缺失的问题,解决方法是在/root下有个隐藏文件".bashrc","ls -a"命令可以看到,这个文件在linux启动的时候会自动运行,在这个文件的后面加上两行:

JAVA_HOME=[自己的JAVA位置]
PATH= $PATH:[自己的JAVA位置]/bin

(环境检查方法:echo $PATH和echo $JAVA_HOME)
(/root其实就是~,是root账号的主文件夹,每个用户都有自己的主文件夹,在/home下)

文件编辑、移植

关于文件的处理,由于下载的ubuntu镜像是精简过的,容器内没有vi。编辑的时候如果是简单的只有一行的东西可以直接cat查看,然后

echo “内容”>[文件名]

这个操作会覆盖源文件,如果想要在原文件后面追加的话

echo “内容” >>[文件名]

如果比较大要用文本编辑器的话可以尝试在外面使用docker cp复制到容器外处理。

特殊情况可能要用lsof命令看端口占用情况,这个命令容器里面没有,可以把外面系统/usr/bin里面的相应文件复制进来(名字就是lsof)

对于其他命令的可以使用whereis [命令]看这命令的来源(一般都在/usr/bin下)

(PS:vi好像复制进去也用不了,nano没试)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值