广告
返回顶部
首页 > 资讯 > 后端开发 > Python >docker制作镜像
  • 685
分享到

docker制作镜像

镜像docker 2023-01-30 21:01:26 685人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

从 rootfs 压缩包导入格式:Docker import [选项] <文件>|<URL>|- [<仓库名>[:<标签>]]压缩包可以是本地文件、远程 WEB 文件,甚至是从标准输入中得到。

从 rootfs 压缩包导入

格式:Docker import [选项] <文件>|<URL>|- [<仓库名>[:<标签>]]


压缩包可以是本地文件、远程 WEB 文件,甚至是从标准输入中得到。压缩包将会在镜像 / 目录展开,并直接作为镜像第一层提交。


比如我们想要创建一个 OpenVZ 的 Centos7 模板的镜像:

访问连接:Http://download.openvz.org/template/precreated/

blob.png

由于文件比较大,我直接用迅雷下载了

将文件用xftp上传到/root目录


导入镜像

# docker import centos-7-x86_64-minimal.tar.gz  openvz/centos7
sha256:dc0fbd3e8b30b73c6556e6392b74f4d168e283Dc80bd5a367e342a030e814b12

这条命令将 tar.gz文件作为根文件系统展开导入,并保存为镜像 openvz/centos7

导入成功后,我们可以用 docker image ls 看到这个导入的镜像:

# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
openvz/centos7      latest              dc0fbd3e8b30        13 seconds aGo      434.5 MB

Docker 还提供了 docker load 和 docker save 命令,用以将镜像保存为一个 tar 文件,然后传输到另一个位置上,再加载进来。这是在没有 Docker ReGIStry 时的做法,现在已经不推荐,镜像迁移应该直接使用 Docker Registry,无论是直接使用 Docker Hub 还是使用内网私有 Registry 都可以。


用镜像启动一个容器看看

[root@localhost ~]# docker run -it --name test-centos7 openvz/centos7 /bin/bash
[root@252022847ea0 /]# ifconfig
bash: ifconfig: command not found

mini版的centos7是没有ifconfig命令的,可以使用yum whatprovides命令来查找对应的包

[root@252022847ea0 /]# yum whatprovides ifconfig
net-tools-2.0-0.22.20131004git.el7.x86_64 : Basic networking tools
Repo        : base
Matched from:
Filename    : /sbin/ifconfig

上面提示的信息,表示这个命令是属于net-tools软件包的

# yum -y install net-tools

使用ifconfig就可以查看IP地址了

[root@252022847ea0 /]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.0.2  netmask 255.255.0.0  broadcast 0.0.0.0
        inet6 fe80::42:acff:fe11:2  prefixlen 64  scopeid 0x20<link>
        ether 02:42:ac:11:00:02  txqueuelen 0  (Ethernet)
        RX packets 3486  bytes 23040096 (21.9 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3244  bytes 179432 (175.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

当然了,还可以安装一些基本命令

# yum -y install vim wget nscd telnet
# yum clean all

使用exit命令退出

[root@252022847ea0 /]# exit
exit
[root@localhost ~]#

查看docker 运行进程

[root@localhost ~]# docker ps -a
CONTaiNER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
252022847ea0        openvz/centos7      "/bin/bash"         7 minutes ago       Exited (0) 10 seconds ago                test-centos7

提交(commit)修改并保存这个容器成为一个new_centos7镜像

[root@localhost ~]# docker commit 252022847ea0 new_centos7
sha256:ee7737270cc787e2669379f2e15a4621f429e506454cd906c032303951cf4245

将new_centos7的tar.gz文件保存在/opt目录下,查看大小

root@localhost ~]# docker save new_centos7 > /opt/new_centos7.tar.gz
[root@localhost ~]# ll /opt/new_centos7.tar.gz
-rw-r--r-- 1 root root 633089024 1月   5 22:03 /opt/new_centos7.tar.gz
[root@localhost ~]# du -sh /opt/new_centos7.tar.gz
604M	/opt/new_centos7.tar.gz

导入tar.gz包到本地docker镜像

[root@localhost ~]# docker load < /opt/new_centos7.tar.gz
Loaded image: new_centos7:latest

查看本地镜像

[root@localhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
new_centos7         latest              ee7737270cc7        3 minutes ago       619 MB
openvz/centos7      latest              dc0fbd3e8b30        13 minutes ago      434.5 MB

使用导入的镜像,启动一个容器,并查看IP地址

[root@localhost ~]# docker run -it --name base_centos7 new_centos7 /bin/bash
[root@d407b7faa878 /]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.0.2  netmask 255.255.0.0  broadcast 0.0.0.0
        inet6 fe80::42:acff:fe11:2  prefixlen 64  scopeid 0x20<link>
        ether 02:42:ac:11:00:02  txqueuelen 0  (Ethernet)
        RX packets 6  bytes 508 (508.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 6  bytes 508 (508.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

发现没有报错了,说明刚才安装的软件还在

--结束END--

本文标题: docker制作镜像

本文链接: https://www.lsjlt.com/news/178961.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • docker制作镜像
    从 rootfs 压缩包导入格式:docker import [选项] <文件>|<URL>|- [<仓库名>[:<标签>]]压缩包可以是本地文件、远程 Web 文件,甚至是从标准输入中得到。...
    99+
    2023-01-30
    镜像 docker
  • Docker二所镜像制作
    1、dockerfile 里不能有交互式命令。      FROM centos:6.9  加载镜像     &...
    99+
    2022-10-18
  • 制做docker镜像
    1、制做JAVA运行环境镜像我的基础镜像是基于官网centos 7.2版本制作,没有可以提前下载好#docker pull docker.io/centos[root@R210 ~]# mkdir -p /...
    99+
    2022-10-18
  • Docker中怎么样制作镜像
    小编给大家分享一下Docker中怎么样制作镜像,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前言以制作CentOS镜像为例,讲述对镜像自定义,打包以及推送的远程仓...
    99+
    2023-06-25
  • CentOS7下怎么制作Docker镜像
    本篇内容介绍了“CentOS7下怎么制作Docker镜像”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Docker Image 的制作两种方...
    99+
    2023-06-28
  • 如何在shell制作Docker镜像
    小编给大家分享一下如何在shell制作Docker镜像,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!尝试在shell制作Docker镜像 $ ...
    99+
    2023-06-02
  • Docker制作镜像的完整过程
    目录前言创建步骤创建CentOS基础镜像创建容器并自定义以自定义容器创建新镜像保存、加载镜像tar包将镜像推送到远程仓库参考链接前言 以制作CentOS镜像为例,讲述对镜像自定义,打...
    99+
    2022-11-12
  • 怎么快速制作Redis Docker镜像
    这篇文章主要讲解了“怎么快速制作Redis Docker镜像”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么快速制作Redis Docker镜像”吧!镜像制作镜像越小,部署起来越方便。在这...
    99+
    2023-06-15
  • docker中怎么用build制作镜像
    在Docker中,可以使用`docker build`命令来制作镜像。 首先,在项目的根目录下创建一个名为`Dockerfile`的...
    99+
    2023-10-26
    docker
  • Docker镜像制作方法是什么
    Docker镜像制作方法是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Docker Image 的制作两种方法方法 1:docker commit&n...
    99+
    2023-06-28
  • 使用docker制作分布式lnmp 镜像
    目录一、docker 分布式 lnmp 镜像制作1、运行Nginx、MySQL、PHP容器2、修改Nginx配置文件和PHP文件4、进行测试LNMP 是代表 Linux 系统下的 N...
    99+
    2022-11-12
  • Docker中Dockerfile制作镜像的方法步骤
    目录1.基于容器制作2. 基于Dockerfile制作镜像2.1 Dockerfile命令2.2 简单示例docker 镜像的制作,可以基于容器创建镜像,也可基于 dockerfil...
    99+
    2022-11-13
  • docker镜像中json的作用
    docker镜像中json的作用:静态的镜像,如何才有能力转化为一个动态的 Docker 容器呢?此时,我们可以想象:第一,转化的依据是什么;第二,由谁来执行这个转化操作。转化的依据是每个镜像的 json 文件,Docker 可以通过解析 ...
    99+
    2023-06-04
  • 使用Docker制作Python环境连接Oracle镜像
    目录python连接Oracle本地测试依赖安装准备制作docker镜像Python连接Oracle本地测试 依赖安装准备 Python、链接Oracle需要Python依赖和本地Oracle客户端,测试环境Oracle...
    99+
    2022-06-28
    docker镜像Python环境连接Oracle Python连接Oracle镜像
  • 使用docker怎么制作分布式lnmp 镜像
    这期内容当中小编将会给大家带来有关使用docker怎么制作分布式lnmp 镜像,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、docker 分布式 lnmp 镜像制作1、运行Nginx、MySQL、PH...
    99+
    2023-06-15
  • Docker 制作 MySQL 镜像并使用 `/docker-entrypoint-initdb.d/` 机制初始化数据
    需求 制作一个 MySQL Docker 镜像并初始化数据库信息 环境 win 11Docker-Desktop 4.14.0 (91374) 分析 启动一个MySQL容器很容易。如何初始化数据呢? 大概我们会尝试很多操作,比如百度常见到 ...
    99+
    2023-08-23
    数据库 mysql docker
  • 怎么用docker Dockerfile文件制作自己的镜像
    本文小编为大家详细介绍“怎么用docker Dockerfile文件制作自己的镜像”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么用docker Dockerfile文件制作自己的镜像”文章能帮助大家解...
    99+
    2022-10-19
  • Docker 制作tomcat镜像并部署项目的步骤
    目录原料准备:步骤1、准备压缩包2、编写dockerfile文件3、执行构建4、启动容器5、访问查看6、发布项目本文讲解如何制作自己的tomcat镜像,并使用tomcat部署项目 原...
    99+
    2022-11-13
    Docker 部署tomcat项目 Docker 部署项目
  • Docker在线制作和离线制作镜像的方法是什么
    这篇文章主要介绍了Docker在线制作和离线制作镜像的方法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Docker在线制作和离线制作镜像的方法是什么文章都会有所收获,下面我们一起来看看吧。一、背景系统有...
    99+
    2023-07-05
  • Docker和镜像的操作示例
    这篇文章主要介绍Docker和镜像的操作示例,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!查找镜像我们可以从 Docker Hub 网站来搜索镜像,Docker Hub 网址为: https://hub.docker...
    99+
    2023-06-08
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作