一、创建自己的镜像
1.将容器的文件系统打包为tar包导出有两种方式:
① docker export -o test.tar 容器名
② docker export 容器名称 > 镜像.tar
导入镜像到其他宿主机
docker import tar包名 镜像名:tag
如果导入的镜像没有起名字,随后可以单独起名字或者手动加上tag
docker tag 镜像ID 镜像名字:tag
2.镜像迁移
保存一台主机上的镜像为tar文件,然后可以导入其他的宿主机上
docker save -o test.tar test
将save打包的镜像通过load命令导入
docker load < test.tar
export和save之间的区别
export: 相当于容器的快照,容器快照文件丢失所有的历史记录和元数据信息
save:没有这个现象,是完整的
3.通过容器创建本地镜像
容器运行起来后,又在里面进行了一些操作 并且将操作的结果也要保存到我们创建的镜像里
docker commit 把一个正在运行的容器,直接提交为一个镜像。 commit是提交的意思。
docker exec -it 容器id /bin/sh
touch test.txt
exit
docker commit -m “注释” -a “作者” 该镜像id 镜像名称:tag
二、利用Dockerfile创建镜像
1.通过Dockerfile创建镜像,虽然可以自己制作rootfs(根文件系统) 但是Dockerfile提供了一种更便捷的方式。即Dockerfile创建镜像
**docker build -t 镜像名字:tag Dockerfile所在的目录** **mkdir cavier****cd cavier ****vim Dockerfile****FROM 基础镜像****MAINTAINER 描述镜像的创始人****RUN 命令是在镜像内部执行 它后面的命令应该是针对镜像可以运行的命令****CMD 是运行容器时,运行的命令**
除了Dockerfile以外 将所应用的包也要放在统计目录内
2.Dockerfile 创建nginx镜像
官方文档地址:
https://docs.docker.com/develop/develop-images/dockerfile_best-practices/
