工作环境不通外网,搭好docker环境后,我用nginx镜像包做基础包,去启动的后端jar包.其实每一个容器都是一个小的linux系统,改完容器后,打成镜像就好.
vim /etc/profile 配置环境变量,在文件末尾添加如下配置:
export JAVA_HOME=/usr/local/java/jdk1.8.0_241 export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin
.执行命令使配置生效,运行java -verson出现版本号
source /etc/profile
到这里。这个用户就配置完成了 。如果其他用户也需要使用配置文件的话 ,可用其他用户登陆容器,在配置~/.bashrc文件即可 。如果没有这个配置文件,可直接用vim ~/.bashrc用来创建并编辑。容器启动时就启动jar包,也只需要将启动jar包的命令:追加问候就好了.
nohup java -jar app.jar &
或者
exec进入容器,在容器中写一个脚本start.sh,如下
#!/usr/bin/sh
#上一行解析器路径,是根据$PATH查看到的
source /etc/profile
nohup java -jar /app.jar &
创建容器时,执行如下. sh -c 是执行多条命令用的.因为Dockerfile中只能写一条命令
docker run --name brain -p 38763:38763 -itd 镜像ID sh -c "/start.sh &&/data/nginx/sbin/nginx -g 'daemon off;' "
这样创建,在创建好后,里面的jar包就是启动状态了,jdk环境也是好的.