您的位置:首页 > 运维架构 > Docker

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

2018-02-21 22:03 866 查看
一、docker imagedocker 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 cf2c3ece5e41docker 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管理配置就演示完毕了!!!希望对你有所帮助!!!再见!!!





内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: