使用docker镜像
•使用和管理本地主机上的images
•创建一个基础的images
•上传images到docker hub (公共images仓库)
•列出本地主机上已经存在的images
1.搜索镜像
NAME:镜像名称
DESCRIPTION:描述 STARS:星级,代表受欢迎程度
OFFICIAL:是否官方创建
AUTOMATED:是否自动创建
这里是最新的搜索镜像方法
docker search | Docker Documentation
2.获取镜像
网址:Docker Hub
这里先用Ubuntu的
进来后点击tags下面显示各个版本的镜像,直接复制即可
这里下载18.04的
docker pull ubuntu:18.04
3.查看镜像信息
使用docker images命令可以列出本地主机上已有镜像的基本信息。
docker images
为了方便在后续工作中使用特定镜像,还可以使用docker tag命令来为本地镜像任意添 加新的标签。
它们实际上指向同一个镜像文件,只是别 名不同而已
docker tag httpd:latest httpd:0.1
查看镜像详细信息:
docker inspect httpd
使用history命令查看镜像历史
docker history httpd
4.删除镜像
报下面这个错是因为有容器正在使用
如果非要强制删除可以使用 docker rmi -f
注意,通常并不推荐使用-f参数来强制删除一个存在容器依赖的镜 像。正确的做法是,先删除依赖该镜像的所有容器,再来删除镜像。
5.创建镜像
1)基于已有镜像的容器创建
先启动一个镜像变成容器
docker run -itd --name web01 -P httpd
查看一下
主机访问: IP+48153
修改该页面的内容
进入该容器:
docker exec -it web01 /bin/bash
root@d796648c66ec:/usr/local/apache2# ls
bin build cgi-bin conf error htdocs icons include logs modules
root@d796648c66ec:/usr/local/apache2# cd htdocs/
root@d796648c66ec:/usr/local/apache2/htdocs# ls
index.html
root@d796648c66ec:/usr/local/apache2/htdocs# cat index.html
<html><body><h1>It works!</h1></body></htmlroot@d796648c66ec:/usr/local/apache2/htdocs# root@d796648c66ec:/usr/local/apache2/htdocs# echo "study" >> index.html
root@d796648c66ec:/usr/local/apache2/htdocs# cat index.html
study
刷新页面就可以看到添加的内容
exit退出
此时该容器跟原ubuntu:14.04镜像相比,已经发生了改变,可以使用docker commit命令来 提交为一个新的镜像。提交时可以使用ID或名称来指定容器
提交:-m提交信息;-a作者
2)基于本地模板导入
直接导入一个镜像地址:http://download.openvz.org/template/precreated/
这里用fedora-23-x86_64.tar.gz。下载到宿主机上后将其拖到虚拟机中
使用命令导入
cat fedora-23-x86_64.tar.gz | docker import - fedora:23
查看镜像发现已经有了
6.存出和载入镜像
存出镜像
载入镜像
docker load < httpd_myweb1.tar
使用docker images进行查看
7.上传镜像
用户可以通过docker push命令,把自己创建的镜像上传到仓库中来共享。默认上传到 Docker Hub官方仓库(需要登录),官网地址:https://hub.docker.com。
1)首先申请一个docker hub帐号
2)注册成功后,登录到docke hub点击一下按钮:create —> create repository ,取个名 字,这里我们最终创建的仓库名称:lidnyun/kube-apiserver-amd64 ,这个lidnyun是帐 号,kube-apiserver-amd64是其中一个仓库名。
3)在本地登录docker hub帐号,命令如下:
root@master:~# docker login
Username: lidnyun
Password:
4)为存在于本地的镜像打标签。
马赛克部分要跟下图马赛克名一样
5)push镜像
docker push <hub-user>/<repo-name>:<tag>
例子:docker push lidnyun/kube-apiserver-amd64:v1.5.5
19)]
马赛克部分要跟下图马赛克名一样
[外链图片转存中…(img-Uyc77ZkX-1649643415619)]
5)push镜像
docker push <hub-user>/<repo-name>:<tag>
例子:docker push lidnyun/kube-apiserver-amd64:v1.5.5