一、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管理配置就演示完毕了!!!希望对你有所帮助!!!再见!!!