docker 保存镜像_docker如何保存镜像
Docker系列二:玩转单个容器
搜索想要的镜像那么对于宿主机上运行的服务比,在容器内运行有以下两种优势
docker 保存镜像_docker如何保存镜像
docker 保存镜像_docker如何保存镜像
1.配置:将服务放入容器,提前配置好提供服务所需的程序、库、配置文件等,无须担心宿主机是否有这些组件。若有需要也很容易将容器迁移到另一个宿主机上。
2.隔离:每个容器有自己单独的文件系统和网络接口,能按需运行多个相同的服务容器。每个容器使用各自的IP和端口来公开其服务,这些服务之间不会彼此冲突。
在虚拟机内安装容器测试后发现虚拟机内的容器性能接近于物理机。
1.查看容器镜像 docker ps -a
3.在容器内运行命令 apt-get update
如图所示可以安装想装的软件了 apt-get install vim
registry是一个位置——在那里能够找到许多reitory相关联的镜像。
reitory是一个名字——Docker用它来代表多个镜像。
docker search ubuntu
docker search -s 10 ubuntu
国内从 Docker Hub 拉取镜像有时会遇到困难,此时可以配置镜像加速器。Docker 和国内很多云服务商都提供了国内加速器服务,我们以 Docker 加速器 为例。
CentOS 7
请在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件)
之后重新启动服务。
配置加速器之后,如果拉取镜像仍然十分缓慢,请手动检查加速器配置是否生效,在命令行执行 docker ,如果从结果中看到了如下内容,说明配置成功。
然后根据旁边的提示 docker pull oraclelinux
拉取镜像并不是将镜像放入系统的方式,可以将本地系统的镜像保存到一个tar文件,然后传输到另外一个系统中,在那里装载他。
docker se 命令会保存与特定的reitory关联所有的镜像。
docker images
docker se -o mysql.tar mysql
du -sh mysql.tar
修改mysql权限,root注意要有
用SCP命令传输tar文件到另外一个系统中【centos传输至unbuntu】
【unbuntu需要scp能连接上】
sudo apt install
scp mysql.tar 192.168.140.134:/tmp
在unbuntu中装载mysql.tar
docker load -i /tmp/mysql.tar
docker export -o pg_1018export.tar 63
docker import pg_1018export.tar pg3
但是需要注意运行导入的镜像的时候必须带command,否则容器不能运行。
在新的地方装载
docker se保存的是镜像(image),docker export保存的是容器(contain查看docker下的镜像,选择mysql进行打包。er)
查看镜像,进行打包
查看容器,进行打包
对比两者打包后的大小和内容
对比可以看到容器内容是一个linux的文件目录
镜像的内容拆开看到:
其实就是一个稍后deployment会部署完成,创建以下serv分层的系统
Docker镜像实际上就是由这样的一层层文件进行叠加起来的,上层的文件会覆盖下层的同名文件。
如果将镜像中各层文件合并到一起,基本就是容器打包后内容。由于镜像里的各层文件会有很多重复文件,所以镜像打包后会比容器大那么一点。
简单地总结就是下面这样
se — 镜像 打包—用 load 载入,用import可以载入但启动不了。
export — 容器 打包—用 import 载入,用load不能载入,docker load必须要载入的是一个分层文件系统。
查看正在运行或暂停容器 docker ps
查看停止的容器 docker ps -a
停止 docker stop CONTAINER ID
重启 docker restart CONTAINER ID
暂停 docker pause CONTAINER ID
取消暂停 docker unpause CONTAINER ID
docker run 创建新的容器
语法
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
详细见
以mysql的镜像为例子
[root@localhost text]# docker run -it mysql /bin/bash
然后也可以达到进入容器内的相同效果
在minikube上使用本地docker镜像
如果直接运行 kubectl create deploy whatr --image=whatr:latest --port=8080 --image-pull-pol2.进入容器里面 docker exec -it f74716b965d7 /bin/bash 或者 docker exec -it f74716b965d7 "bash"icy=Nr 会提示没有--image-pull-policy这个选项minikube有自己的docker程序,不同于本地的dokcer,如果需要使用本地build的镜像,而不从网上拉取,需要以下步骤:
启动 docker start CONTAINER ID执行完毕后进入minikube dashboard修改deployment的配置,将
改为以下并保存
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系 836084111@qq.com 删除。