- 拉取镜像
- 从官方镜像上拉取一个14.04标签的镜像ubuntu。
- 如何从私有仓库quay.io上拉取一个latest标签的镜像flannel
docker pull quay.io/username/flannel:tag
- 搜索镜像
- 在docker hub网站上搜索https://hub.docker.com,搜索镜像名为ubuntu的所有镜像
- 在终端下,通过docker命令行方式搜索
docker search [OPTIONS] TERM
OPTIONS说明:
--no-trunc=false 是否截断
--limit int 搜索的最多结果数,最多5个
--filter=stars=最低收藏数 限定显示结果的最低收藏数
如何从Docker Hub查找所有镜像名包含ubuntu,并且收藏数大于20的镜像?
命令:docker search ubuntu -s 20
- 查看镜像
常见有两种查看镜像的方法:
(1) Docker images,查看本地存储的镜像的仓库名称、标签、ID号、创建时间和大小等简单信息。命令格式如下:
Docker images [options] [REPOSITORY]
-a, --all=fase 显示所有镜像
-f,--filter=[ ]过滤参数
--no-trunc=false 是否截断
-q, --quiet=false 显示镜像的唯一ID
要求:
- 列出包含中间层的所有镜像
- 列出所有的镜像,并且可以看到完整的ID
(2) Docker inspect,查看镜像的详细信息,包含制作者、适应架构和各层的数字摘要等。
要求:
- 查看ubuntu镜像的详细信息
- 通过-f参数可以快速定位,查看ubuntu镜像的创建时间:
- 导出和导入镜像
- 先使用导出镜像(save)操作将镜像保存在本地。
docker save –o ubuntu.tar ubuntu:latest
docker save ubuntu:latest > ubuntu.tar
- 用导入镜像(load)操作,将镜像包加载到本地仓库中。
docker load –i ubuntu.tar
docker load <ubuntu.tar
- 发布镜像
- 如何把一个镜像发布到docker hub中?请举例说明。
1、登录到docker hub
#docker login
2、使用docker tag 命令为本地镜像添加新的标签
#docker tag ubuntu:latest(本地镜像)18736975330/ Ubuntu:14.04(新添加的镜像)
3、使用docker push 命令将新添加的镜像上传到docker hub
#docker push 18736975330/Ubuntu:14.04
4、完成
- 删除镜像
分别用两种不同的方法删除本地镜像?说明两种方法的不同之处!
如何删除本地的所有镜像?
如果想要删除一个镜像,但是有容器正在使用它,该如何处理?
进行强制删除:
Docker kill 容器名或容器ID
- 查看镜像历史
请查看一下ubuntu:14.04镜像的历史?并描述一下
- 通过已有镜像ubuntu:14.04启动一个容器,在容器中安装nginx,用docker commit命令提交新容器为镜像。相关命令如下:
Docker commit [options] container [REPOSITORY[:TAG]]
-a ,--author作者
-m, --message 镜像信息
-p, --pause 提交时候暂停容器的运行
过程:
- 使用镜像ubuntu:14.04来启动一个交互式容器commit_test
docker run -it -p 80 --name commit_test ubuntu:14.04 /bin/bash
- 在容器内更新apt库,并且安装nginx
apt-get update
apt-get install -y nginx
然后Exit退出容器
- 输入命令docker ps -l看到刚刚创建的容器
- 把容器commit_test提交为镜像catherine2005/commit_image1,设置镜像作者为catherine,提交修改的内容为nginx
docker commit -a ‘catherine’ -m ‘nginx’ commit_test catherine2005/commit_image1
- 查看刚刚创建的镜像信息
docker images
- 使用刚刚创建的镜像catherine2005/commit_image1启动一个容器nginx_web1
docker run -d --name nginx_web1 catherine2005/commit_image1 nginx -g “daemon off;”
- 查看新创建的容器
docker ps
发现没有映射端口,不可用
- 使用刚刚创建的镜像catherine2005/commit_image1启动一个容器nginx_web2
docker run -d --name nginx_web2 -p 80 catherine2005/commit_image1 nginx -g “daemon off;”
- 再次查看容器
docker ps
此时应该可以看到端口映射出32768->80
- 使用命令来查看index.html网站
或者在浏览器上直接输入http://127.0.0.1:32768 就可以看到index.html网站
- 如何通过新建一个Dockerfile文件来构建一个和题目8一样的新镜像?
主要分为两步
- 创建一个dockerfile文件
- 创建一个目录
makdir –p ~/dockfille/dockfile
- 创建并编写dockfile文件
vim dockerfile
- 使用docker build命令来构建
sudo docker build -t catherine2005/commit_image1 .