Docker- 解决Image内部无VIM编辑器问题
我们就考虑是不是可以从基础镜像来入手,(现在使用的是java:8)更换一个带有vim编辑器的基础镜像不就行了吗,说干就干;
# 基础镜像使用java
FROM openjdk:8-jdk-alpine
# 作者
MAINTAINER daopinz
#
制作好镜像后,容器可以正常启动并提供服务,进入容器,发现只有linux自带的vi,并没有我们常用的VIM;好吧有就行。。。。当我换一个带有比较复杂业务(连接两个数据库、连接多个服务),制作镜像并启动容器的时候傻眼了,竟然启动失败,看来这个基础镜像还是太‘简陋’了。
怎么办?首先要保证服务启动正常,再者考虑vim编辑器的问题吧。那就只能使用java:8基础镜像,往里面添加vim组件可以吧,在制作镜像的时候加入vim的插件包:
# 基础镜像使用java
FROM java:8
# 作者
MAINTAINER daopinz
# 将vim插件包添加到容器内
ADD vim_c75.tar.gz vim_c75.tar.gz
# 执行命令
CMD ["tar","-zxvf","vim_c75.tar.gz"]
CMD ["sh", "vim_c75.tar.gz/vim_c75/install.sh"]
cat install.sh
#!/bin/bash
yum localinstall -y *
容器启动后,发现tar.gz包是正常解压了,但是.sh脚本执行似乎没有生效,于是手动在容器内部执行一次.sh脚本,额,报了yum command not found ....难道还要导入yum的插件???看来此路不通;
网上问问大佬这样,发现大多数的博客是使用:
# 更新一下,命令:
sudo apt-get update
# 再安装即可成功:
sudo apt-get install vim
我也在启动好的容器内部执行了一次上面的命令,结果是可以的,但是执行的时间未免有点太过漫长。
继续试验更好的方法,learning ing ......