docker(三)docker镜像和镜像发布方法

一、从公网docker hub 拉取image

~ # 搜索docker search centos~ ? docker pull centos                                                                [email protected]2
Using default tag: latest
latest: Pulling from library/centos
469cfcc7a4b3: Downloading  12.28MB/73.17MB

或者:把之前下载好的image镜像导入image

docker load -i /root/centos.xxx.xxx.xx.tar.   # -i 指定载入的镜像归档

二、查看 images 列表,docker 的镜像和数据都是在/var/lib/docker 目录下。

~ ? docker images                                                                     [email protected]2
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              ae513a47849c        3 weeks ago         109MB
centos              latest              e934aafc2206        7 weeks ago         199MB
------------------------------------------------------------

三、制作docker iamage 的两种方法

1、docker commit  # 保存container  的当前状态到  image 后,然后生成对应的 image

例:创建一个安装好的 nmap 黑客扫描工具的容器镜像

~ ? docker run -it centos /bin/bash                                                   [email protected]2
[[email protected] /]# yum -y install nmap-ncat    #  在 container中安装 nmap-ncat

Loaded plugins: fastestmirror, ovl
base                                                                          | 3.6 kB  00:00:00
extras                                                                        | 3.4 kB  00:00:00
updates。。。。

2、根据容器当前状态做一个  image 镜像:创建一个安装了  nmap-ncat 工具的centos镜像。

语法:docker commit <container 的 ID> <image_name>

~ ? docker ps -a     # 查看容器ID:                                                                      [email protected]2
CONTAINER ID        IMAGE                COMMAND                  CREATED             STATUS                            PORTS               NAMES
ca699c8d7b09        centos              "/bin/bash"              3 minutes ago       Exited (127) About a minute ago                       priceless_lumiere
fafd41a29849        nginx               "nginx -g ‘daemon of…"   32 minutes ago      Created                                               webserver
------------------------------------------------------------
~ ? docker commit ca699c8d7b09 centos:nmap                                                                                                                            [email protected]2
sha256:34bad9a4e5c9c623239ee4b5f2946ef6eba38dffcfb6018bc5d41a35531a7a01
~ ? docker images                                                                                                                                                     [email protected]2
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              nmap                34bad9a4e5c9        49 seconds ago      269MB
nginx               latest              ae513a47849c        3 weeks ago         109MB
centos              latest              e934aafc2206        7 weeks ago         199MB

使用新建的 centos:nmap 镜像,生成一台容器实例:

~ ? docker run -ti centos:nmap /bin/bash                                 [email protected]2
[[email protected] /]# rpm -qa nmap -ncat

方法二:使用 docker build 创建一个基于 centos 的httpd wdb服务器镜像。

原文地址:https://www.cnblogs.com/sunshine-long/p/9093085.html

时间: 2024-08-09 19:35:37

docker(三)docker镜像和镜像发布方法的相关文章

docker(三) 构建自己的镜像

下面以一个例子来演示构建镜像的过程. #在/tmp目录下演示 cd tmp mkdir build-redis-image 1.创建Dockerfile文件 vim Dockerfile 并写入如下内容: # 构建Redis镜像:在Centos7.4镜像中安装redis后打包成自己的镜像. #基于Centos7.4构建 FROM centos:7.4 #安装依赖 RUN yum -y install tar cpp binutils glibc glibc-kernheaders glibc-c

Docker笔记三 Docker镜像制作

Docker笔记三 Docker镜像制作 1.Docker镜像制作方法: docker commit 保存当前container的状态到镜像,生成image. docker build 利用dockerfile自动化生成image. 2.制作方法 docker commit方式 #启动镜像名称为centos的一个容器(container)  [[email protected] ~]#docker run -it centos /bin/bash #在容器内安装httpd服务 [[email p

Docker系列-(2) 镜像制作与发布

上篇文章引入了Docker的基本原理和操作,本节文章主要介绍如何制作Docker镜像和发布. 镜像文件结构 Docker镜像的本质是一系列文件的集合,这些文件依次叠加,形成了最后的镜像文件,类似于下图所示的结构, 从底层往上,依次是文件系统层,操作系统层,专有镜像层,读写层. 启动文件层:Docker启动时的用到的文件系统,启动完成后会自动脱离,用户不会与这一层直接打交道. 操作系统层:这一层主要是操作系统相关的一些文件,根据发行版本的不同,可能有CentsOS.Ubuntu等等.文件包含dev

Docker alpine 添加cst时区并发布镜像到docker.io

本来准备用scratch来运行golang程序的,运行是可以但是遇到了时区的问题,且scratch是一个空镜像也不方便做定制化 alpine是精简版镜像(约5.6M),虽然默认不带timezone,但提供是包管理工具apk.也正是由于其精简性便于在alpine的基础上做定制化 测试看下alpine里的时间 先docker pull alpine拉取镜像,再执行docker run --rm alpine date -R 查看alpine里的时间 看到时间后面的+0000就说明alpine默认是格

【HAVENT原创】Docker 创建一个新的 Node 镜像,并发布到 DockerHub

下面我将在 Window10 系统下面生成一个新的 Node 镜像,并发布的 DockerHub. 1. 将带有 Dockerfile 的项目目录放到用户根目录 C:\Users\havent.liu\wehotel-app 2. 启动 Docker Quickstart Terminal,根据 Dockerfile 生成一个基础镜像 $ docker build -t havent/node6 havent-node6 附:dockerfile 基础镜像代码 FROM node:6-alpin

跟我一起学docker(三)--镜像的常用操作

1.获取镜像: 命令: docker pull <域名>//: 说明: 镜像是Docker运行容器的前提. 用户可以使用docker pull 命令从网络上下载镜像.对于镜像来说,如果不显式地指定tag,则默认会选择latest标签,即下载仓库中最新版本的镜像. 默认是从docker官方下载的.只有docker官方的可以不需要增加命名空间直接进行下载. 2.查看镜像列表 命令: docker images 说明: 使用docker images命令可以列出本地主机上已有的镜像. 信息含义:来自

Docker使用小结(四)发布镜像

安装Docker后,启动docker [email protected]:/home/xxx/Documents# service docker start 停止docker命令 [email protected]:/home/xxx/Documents# service docker stop 查看运行的docker版本 [email protected]:/home/xxx/Documents# docker --version Docker version 18.09.7, build 2

Docker 之 基于容器的镜像制作

1  概述 镜像包含启动容器所需的文件系统和内容,可以理解为打包的文件,用于创建并启动docker容器. 镜像的生成途径有三个: 1.基于dockerfile实现,镜像制作的程序文件 2.基于容器实现,启动容器后,将新的操作制作为新镜像 3.docker hub automated builds 镜像文件采用分层构建机制,最底层为bootfs,上面为rootfs,rootfs上还可以有多层.位于最下层的镜像文件为父镜像(parent image),最底层为基础镜像(base image,root

Docker基础命令详解——镜像及容器操作

Docker基础命令详解--镜像及容器操作 前言 ? 上篇文章介绍了有关Docker的基础与Linux下docker的安装,本文主要讲解安装docker后的基础使用方法以及命令的介绍,主要是docker镜像操作及容器操作命令. ? 当然,docker的相关命令非常多,可以使用docker help命令查看对应目录以及相关提示命令. Docker镜像操作命令 [[email protected] ~]# which docker /usr/bin/docker 1.镜像搜索:docker sear

Docker系列(一)---镜像

本系列实验环境均为:CentOS6.6 使用epel库安装docker [[email protected]~]# rpm -ivh http://mirrors.sohu.com/fedora-epel/6/i386/epel-release-6-8.noarch.rpm [[email protected]~]# yum install docker-io -y 启动docker并设为开机自启 [[email protected]~]# /etc/init.d/dockerstart [[e