1、背景是一天我用jenkis容器做自动化部署,然后第二天容器挂了,我再次重启容器后,发现容器里面的文件都丢失了。
命令如下
docker run \
-u root \
-p 9999:8080 \
-v /opt/jenkins-data:/var/jenkins_home \
-v /opt/jenkinsci/blueocean:/home \
jenkinsci/blueocean
当时在想为什么文件会丢失。得到一个测试过程如下
重新docker run命令以后虽然jenkins服务没变,不需要再重新下载插件什么的,但是容器里面文件都不存在了。
于是乎我新做了一个测试 重新搞个容器。
docker run -it ubuntu /bin/bash
进入容器后 touch test.txt
退出容器 exit
查看容器id docker ps
停止容器 docker stop 容器id
再次docker run -it ubuntu /bin/bash
进去后 发现文件没有了。
其实问题已经找到了每次docker run 都会重新生成一个干净的容器 只不过镜像本身的东西不会丢失而已。
那么已经关闭的容器 如何重新打开呢
docker ps -a 查看已经停止的容器 拿到容器id后
docker start 容器id 即可。
菜鸟教程docker还不是熟悉基本命令,建议大家过一遍命令。
1.7docker版本可以用 docker rm 容器id来删除不需要的已死亡的容器
一般来说建议把容器里面重要的文件通过和宿主机目录挂载出来,这样即使docker容器被删除也没事。