Docker学习笔记——镜像、容器、仓库
2017-08-24 15:43
1221 查看
Docker三个基本概念
镜像(image)
容器(container)
仓库(Repository)
镜像(image)
搜索镜像
查看镜像是可以指定只显示镜像ID或者按照特定格式显示镜像内容
创建并运行容器
-i 以交互模式运行容器,通常与 -t 同时使用;
-t 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
--name="web01" 为容器指定一个名称; -p 指定容器到主机的端口映射; -P 映射容器端口到主机的随机端口; --dns 8.8.8.8 指定容器使用的DNS服务器,默认和宿主一致;
-h "web01" 指定容器的hostname;
-e username="docker" 设置环境变量;
-v 绑定数据卷
停止容器
进入容器
退出容器
目前镜像默认都使用Docker Hub的公共仓库,国内访问缓慢可以使用一些知名的镜像加速源,可参考Docker学习笔记——Docker安装部署或者可以构建私有的仓库,后续文章将详细介绍。
知行办公,专业移动办公平台
【总监】十二春秋之,3483099@qq.com;
【Master】zelo,616701261@qq.com;
【运营】[b]运维艄公,[/b]897221533@qq.com;
【产品设计】流浪猫,364994559@qq.com;
【体验设计】兜兜,2435632247@qq.com;
【iOS】淘码小工,492395860@qq.com;iMcG33K,imcg33k@gmail.com;
【Android】人猿居士,1059604515@qq.com;思路的顿悟,1217022114@qq.com;
【java】首席工程师MR_W,feixue300@qq.com;
【测试】土镜问道,847071279@qq.com;
【数据】喜乐多,42151960@qq.com;
【安全】保密,你懂的。
镜像(image)
容器(container)
仓库(Repository)
镜像(image)
搜索镜像
docker search nginx获取镜像
docker pull nginx指定Registry地址和具体的仓库名下载镜像,没有指定Registry地址,默认从Docker Hub上下载
docker pull jwilder/nginx-proxy查看镜像
docker images REPOSITORY TAG IMAGE ID CREATED SIZE mongo latest b39de1d79a53 2 weeks ago 359MB nginx latest b8efb18f159b 4 weeks ago 107MB mysql latest c73c7527c03a 4 weeks ago 412MB列表中包含仓库名、标签、镜像ID、创建时间及镜像大小
查看镜像是可以指定只显示镜像ID或者按照特定格式显示镜像内容
docker images -q b39de1d79a53 b8efb18f159b c73c7527c03a
docker images --format "table ``.`ID`\t``.`Repository`\t``.`Tag`" IMAGE ID REPOSITORY TAG b39de1d79a53 mongo latest b8efb18f159b nginx latest c73c7527c03a mysql latest删除镜像
docker rmi 镜像ID注意没有标签名称的,tag显示为none表示虚悬镜像,会占用系统资源,可以使用下面命令清除
docker rmi $(docker images -q -f dangling=true)2、容器(container)
创建并运行容器
docker run centos /bin/echo 'hello world!' hello world!docker run 常用参数 -d 后台运行容器,并返回容器ID;
-i 以交互模式运行容器,通常与 -t 同时使用;
-t 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
--name="web01" 为容器指定一个名称; -p 指定容器到主机的端口映射; -P 映射容器端口到主机的随机端口; --dns 8.8.8.8 指定容器使用的DNS服务器,默认和宿主一致;
-h "web01" 指定容器的hostname;
-e username="docker" 设置环境变量;
-v 绑定数据卷
docker run -i -t centos /bin/bash
docker run -d --name nginx01 -p 80:80 nginx查看所有容器
docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0f3bae62200a nginx "nginx -g 'daemon ..." 14 seconds ago Up 10 seconds 0.0.0.0:80->80/tcp nginx01 b1cdeb403e25 centos "/bin/bash" 3 minutes ago Exited (0) 2 minutes ago nifty_bohr aa243f5f4595 centos "/bin/echo 'hello ..." 22 minutes ago Exited (0) 22 minutes ago confident_shaw列表中包含容器ID,镜像名称,运行命令,创建时间,容器状态,端口映射,容器名称,创建容器时建议给容器起一个有意义的名称便于识别,默认会随机生成一个容器名称
停止容器
docker stop 容器ID重启容器
docker restart 容器ID删除容器
docker rm 容器ID默认情况下,rm不会删除正在运行的容器,所以可以通过docker rm $(docker ps -a -q)删除所有未运行的容器
进入容器
docker exec -it nginx01 bash还可通过docker attach 容器ID和nsenter的方式进入容器,前者不安全,后者有点麻烦,就不记录了
退出容器
exit3、仓库(Repository)仓库(Repository)是集中存放镜像的地方,一个容易混淆的概念是注册服务器(Registry)。实际上注册服务器是管理仓库的具体服务器,每个服务器上可以有多个仓库,而每个仓库下面有多个镜像。从这方面来说,仓库可以被认为是一个具体的项目或目录。
目前镜像默认都使用Docker Hub的公共仓库,国内访问缓慢可以使用一些知名的镜像加速源,可参考Docker学习笔记——Docker安装部署或者可以构建私有的仓库,后续文章将详细介绍。
知行办公,专业移动办公平台
【总监】十二春秋之,3483099@qq.com;
【Master】zelo,616701261@qq.com;
【运营】[b]运维艄公,[/b]897221533@qq.com;
【产品设计】流浪猫,364994559@qq.com;
【体验设计】兜兜,2435632247@qq.com;
【iOS】淘码小工,492395860@qq.com;iMcG33K,imcg33k@gmail.com;
【Android】人猿居士,1059604515@qq.com;思路的顿悟,1217022114@qq.com;
【java】首席工程师MR_W,feixue300@qq.com;
【测试】土镜问道,847071279@qq.com;
【数据】喜乐多,42151960@qq.com;
【安全】保密,你懂的。
相关文章推荐
- 2.ASP.NET Core Docker学习-镜像容器与仓库
- docker学习笔记3-使用docker镜像、容器运行过程
- docker学习(2)--docker镜像、容器、仓库和docker的安装
- docker学习笔记之把容器commit成镜像的方法
- 【个人笔记重点,不作为参考】主题:docker的容器、仓库、镜像三个主要概念
- Docker学习笔记四:Docker镜像、容器管理工具shipyard
- docker 学习笔记---如何将docker 镜像上传到docker hub仓库
- Docker入门学习(1)----镜像、容器、仓库初识
- Docker学习笔记(3) — docker仓库的镜像怎么删除
- Docker 学习笔记(三)--Docker镜像与仓库
- Docker学习笔记 - 创建私有的镜像仓库
- 【个人笔记重点,不作为参考】主题:docker的容器、仓库、镜像三个主要概念
- Docker入门-镜像、容器、仓库简单命令
- Docker容器学习梳理--私有仓库Registry使用
- Docker学习笔记 — Docker私有仓库搭建
- Docker的镜像、容器和仓库
- Docker镜像相关命令(学习笔记)
- Docker 镜像、容器、仓库的概念及基本操作