美文网首页
Docker Run不能保存,自建vnc镜像--Apple的学习

Docker Run不能保存,自建vnc镜像--Apple的学习

作者: applecai | 来源:发表于2020-05-02 14:00 被阅读0次

今天本来想下载一个gerrit docker玩玩,结果不带vnc连接的镜像,所以算了,但是无意中发现了docker run xxx后,我在home中建立一个文件夹,然后exit退出后,再用docker run xxx,这个文件夹就没有了,说明没有保存我在docker中的修改。

后来查了资料才知道。docker run是新建一个镜像。而每个镜像的历史记录有一个id号。若通过docker start 此id号进入,然后可以看到我建立的文件夹还存在。
这就解释了为什么docker ps可以看到那么多记录,因为我对容器的修改它都保存了记录。


image.png

那么问题来了,若我要在ubuntu16.04中添加文件,进行代码调试,通过虚拟机共享文件夹挂载可以解决。那么我要安装其它依赖库文件呢?难道我们每次都要重装库文件?

网上搜索下了可以用commit,但是推荐用docker file来记录更改,这样不是黑盒状态,与原始镜像的差别都可以从dorker file中看出来。将来直接使用制作出的新镜像。
我不喜欢黑盒,所以我选择用Dockerfile来制作vnc镜像,网上找到的,稍微修改了下,变为己用。逼近现在不是重复造轮子的时代V

FROM ubuntu:16.04

#ENV HOME /root
#ENV DEBIAN_FRONTEND noninteractive

RUN sed -i "s/archive.ubuntu./mirrors.aliyun./g" /etc/apt/sources.list
RUN sed -i "s/deb.debian.org/mirrors.aliyun.com/g" /etc/apt/sources.list

RUN apt-get update \
    && apt-get install -y supervisor \
        openssh-server vim-tiny \
        x11vnc xvfb \
    && apt-get autoclean \
    && apt-get autoremove \
    && rm -rf /var/lib/apt/lists/*

#WORKDIR /root

#容器启动时的执行命令
CMD /user/sbin/nginx

最后能build出一个镜像,但是适用了下vnc,不能连接。看来vnc我还是要在ubuntu实体机上玩下。今天主要目标是docker自制镜像算是练过一把手了。过程中第一次很慢,网上搜索了源添加进入dockerfile。过程中也学习了dockerfile的组成及关键字。


image.png

相关文章

网友评论

      本文标题:Docker Run不能保存,自建vnc镜像--Apple的学习

      本文链接:https://www.haomeiwen.com/subject/zbrkghtx.html