博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Docker误区+技巧+转换关系
阅读量:5907 次
发布时间:2019-06-19

本文共 1494 字,大约阅读时间需要 4 分钟。

Docker误区+技巧+转换关系

 

1. 误区:容器重启或者机器重启会丢失容器内的数据

根据上的问答和本人的实践,在docker容器内创建文件和安装软件,做下面的操作都不会丢失数据和软件:
A. exit
sudo docker start b430d6f4ff00

B. sudo docker stop b430d6f4ff00

sudo docker start b430d6f4ff00

C. reboot host

Do I lose my data when the container exits?
Not at all! Any data that your application writes to disk gets preserved in its container until you explicitly delete the container. The file system for the container persists even after the container halts.

 

2. 如何进入或者退出docker容器?以及如何在主机上对正在运行的容器执行命令?

除了之前介绍的用nsenter:http://blog.csdn.net/yangzhenping/article/details/42297205

还可以使用attach选项:
sudo docker run --name ubuntu_bash -i -t ubuntu:latest /bin/bash
sudo docker ps -l
sudo docker attach b430d6f4ff00

如何退出容器而不停止容器?
组合键:Ctrl+P+Q

另外,如果想对容器执行命令,可以使用exec选项:

$ sudo docker exec -d ubuntu_bash touch /tmp/execWorks
容器中以后台进程运行touch /tmp/execWorks命令(就是在/tmp目录下创建一个新的文件execWorks)

 

另外有人想直接用ssh去连接上容器的想法,虽然可以,但是有很多弊端,而且docker已经提供了容器内执行的命令,没有必要再折腾每一个容器为sshd服务器

具体为什么不使用,可以看下这篇文章:

 

3. 关于几个容器和镜像以及文件的转化关系:

参考:

 

容器转成镜像:

sudo docker commit <CONTAINER ID> imagename01

容器转成文件:

sudo docker export <CONTAINER ID> > /home/export.tar

镜像转成文件:

sudo docker save imagename01 > /home/save.tar
注:一般情况下,save.tar比export.tar大一点点而已,export比较小,因为它丢失了历史和数据元metadata

文件转成镜像:

cat /home/export.tar | sudo docker import - imagename02:latest

save.tar文件转成镜像:

docker load < /home/save.tar

查看转成的镜像:sudo docker images

注意:这里一个镜像经过n次转化之后,可以用sudo docker images --tree查看历史,用docker tag <LAYER ID> <IMAGE NAME>你可以回到某个层(只针对save命令可以回到某个层!)

你可能感兴趣的文章
“正在注册字体”问题解决
查看>>
iOS开发-OpenGL ES入门教程1
查看>>
Java 设计模式专栏
查看>>
使用ASP.NET Atlas SortBehavior实现客户端排序
查看>>
图像滤镜处理算法:灰度、黑白、底片、浮雕
查看>>
Office文档出错的几种原因与解决方法
查看>>
正则表达式 学习笔记1.1
查看>>
AssetBundle进阶内存优化(Unity 4.x)
查看>>
《从零开始学Swift》学习笔记(Day 40)——析构函数
查看>>
Exchange2003-2010迁移系列之十,Exchange证书攻略
查看>>
extmail集群的邮件负载均衡方案 [lvs dns postfix]
查看>>
更改UIView的背景
查看>>
APUE第15章学习扎记之程序的存储区布局试验
查看>>
ubuntu升级16.04 inter idea 中文输入法无效
查看>>
三目运算判断jsp脚本里面的值
查看>>
sshtunnel在本地访问云服务器mysql
查看>>
小蚂蚁学习APP接口开发(1)—— json方式封装通信接口
查看>>
我的友情链接
查看>>
CDN相关
查看>>
Tomcat的设置4——Tomcat的体系结构与设置基于端口号的虚拟主机
查看>>