Docker技术剖析--docker image管理配置详解

一、docker image

docker image是docker的三大组件之一。 docker把下载的images存储到docker主机上,如果一个image不在主机上,docker会从一个镜像仓库下载,默认的仓库是docker hub公共仓库


1.使用docker images查看本机上的images

[root@kang ~]# docker images 

REPOSITORY:来自于哪个仓库:比如docker.io/centos
TAG:TAG的标记,比如 latest
IMAGE ID:表示镜像的id号
CREATED:创建的时间
SIZE:镜像的SIZE  

2.这里我们看到我们目前本机上没有任何的镜像,怎么获取镜像呢???

使用docker search 搜索合适的images,例如我们搜索centos镜像

[root@kang ~]# docker search centos


3.下载images

我们可以使用docker pull命令来预先下载我们需要的image比如我们下载一个centos镜像

[root@kang ~]# docker pull docker.io/centos

4.查看docker.io/centos的详细信息

[root@kang ~]# docker inspect docker.io/centos

二、创建我们自己的images


别人的镜像虽然很好,但是不一定就适合我们,我们可以对他们做一些改变,有两个方法

第一个方法使用docker commit来扩展一个image,先使用image容器,更新后提交结果到新的image

[root@kang ~]# docker run -it docker.io/centos /bin/bash


注意:一定要记住容器的id以上红色标识


(1.)在容器中添加:mariadb-server应用


[root@b3147658a5eb /]#  yum -y install mariadb-server


(2.)当添加完应用后,我们使用exit退出,使用docker commit命令来提交相应的副本


[root@kang ~]# docker commit -m "added mariadb app" -a "docker then" b3147658a5e centos:mariadb 


-m 来指定提交的说明信息,跟我们使用的版本控制一样 -a 可以指定更新的用户信息;之后是用来创建镜像容器的id 最后指定目标镜像仓库名和tag信息

(3.)使用docker images 查看新的镜像


之后可以使用新的镜像来启动容器


[root@kang ~]# docker run -it centos:mariadb /bin/bash



第二个方法:从dockerfile来创建image


使用docker commit来扩展一个image简单,但它不容易在一个团队中共享它。我们使用docker build 来创建一个新的image。所以我们需要创建一个dockerfile,包含一些如何创建我们image的指令,好的。接下来我们创建一个dockerfile

[root@kang ~]# mkdir -p /docker/httpd
[root@kang ~]# cd /docker/httpd/
[root@kang httpd]# vim Dockerfile



Dockerfile基本的语法是:

使用#来注释

FROM:指令告诉Docker使用哪个镜像作为基础(docker使用哪个image源)

MAINIAINER:是维护者信息

RUN开头指令会在创建中运行,比如安装一个软件包,在这里使用yum来安装一个软件

编写完成dockerfile后可以使用docker build来生成镜像。


[root@kang httpd]# docker build -t="centos:httpd" .

-t是标记来添加的tag,指定新的镜像的用户信息。是dockerfile所在的路径(当前目录)也可以替换为一个具体的dockerfile路径。

(1.)查看新生成的镜像


(2.)从我们新建的image开启容器


[root@kang httpd]# docker run -it centos:httpd /bin/bash 

三、从本地载入images


要从本地文件导入一个镜像很简单,例如我下载了一个centos6的镜像如何从本地文件导入呢?


(1)我们先把下载好的镜像通过远程终端RZ先导入到linux




(2)我们先查看我们目前的images




(3)随后我们把centos7镜像上传到本地镜像库


[root@kang ~]# docker load --input centos7.tar 



导入后我们查看images




四、上传镜像

用户可以通过docker push命令来把自己创建的镜像上传到仓库中来共享,比如,用户在dockerhub上,完成注册后可以通过推送自己的镜像到仓库中,这里有两种方法可以注册一个docker hub账户 这里我们直接通过网站https://hub.docker.com 接下来就是注册的步骤。


1.通过浏览器打开https://hub.docker.com

 点击zhuc


2.然后注册完成后我们点击右上方的sign in来登陆。

这里就不再演示了。。

如何上传自己的镜像到docker hub呢?

(1)docker login 输入自己的用户名-密码。



(2.)可以使用docker tag命令来修改镜像标签 


docker tag c43b569f2917 bycph1/httpd:v1

例如:


(2)使用docker push命令上传

[root@kang ~]# docker push bpcyh1/httpd:v1
The push refers to a repository [docker.io/bpcyh1/httpd]
802b9e516f89: Preparing 
4ce561d10290: Preparing 
b73bcd88057a: Preparing 
0fe55794a0f7: Preparing


删除本地images


[root@kang ~]# docker rmi cf2c3ece5e41

docker rmi命令 比如我们要删除centos6镜像


docker ps命令


docker ps -a

docker ps -h查看帮助


[root@kang ~]# docker ps -h 


利用docker start命令 可以将一个已经终止的容器启动运行也可以使用stop停止。重启容器restart这里就不做演示啦。


[root@kang ~]# docker ps -l


用docker inspect来查看容器的详细信息


[root@kang ~]# docker inspect  c43b569f2917   



到这里有关于Docker技术剖析--docker image管理配置就演示完毕了!!!希望对你有所帮助!!!再见!!!再见再见再见


  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值