开发者社区> 科技小能手> 正文

Docker的安装及镜像管理

简介:
+关注继续查看

1. 安装Docker

blob.png

Docker开源的容器引擎,可以让开发者打包应用以及依赖的库,然后发布到任何流行的linux发行版上,移植很方便;

由go语言编写,基于apache2.0协议发布;

基于linux kernel,要想在win下运行需要借助一个vm(虚拟机)来实现;

自2013年开始,近些年发展迅猛;

docker从1.13x开始,版本分为社区版ce和企业版ee,并且基于年月的时间线形式;

blob.png

优点:

启动非常快,秒级实现

资源利用率高,一台高配置服务器可以跑上千个docker容器

更快的交付和部署,一次创建和配置后,可以在任意地方运行

内核级别的虚拟化,不需要额外的hypevisor支持,会有更高的性能和效率

易迁移,平台依赖性不强


yum安装

curl https://download.docker.com/linux/centos/docker-ce.repo -o  /etc/yum.repos.d/docker.repo

yum install -y docker-ce

速度比较慢,大家也可以直接下载rpm包

https://download.docker.com/linux/centos/7/x86_64/stable/Packages/

下载完,上传到linux下

也需要用yum安装,可以自动解决依赖关系

yum install -y docker-ce-xxxx.rpm

启动docker

systemctl start docker

查看进程

ps aux | grep docker

blob.png

自动生成的规则

保存规则:service docker save

blob.png

blob.png

iptables -t nat  -F 清除规则

重启docker 服务后规则又出自动添加。


2. 镜像管理

docker pull centos//可以下载centos镜像,速度很慢

配置docker加速器

(参考 http://blog.csdn.net/xlemonok/article/details/71403534)

vi /etc/docker/daemon.json

#加入如下内容

{

"registry-mirrors": ["https://dhq9bx4f.mirror.aliyuncs.com"]

}

说明:这个url为加速器地址,需要同学们自行到阿里云申请

配置完加速器,重启docker服务,再次docker pull centos会快很多

查看本地的镜像

docker images

blob.png

搜索镜像

docker search ubuntu    

其中ubuntu是关键词

blob.png

给镜像打标签

docker tag centos fxq123

dokcker tag centos fxqtestos:20180201

blob.png

把镜像启动为容器

docker run -itd centos

//把镜像启动为容器,-i表示让容器的标准输入打开,-t表示分配一个伪终端,-d表示后台启动,要把-i -t -d 放到镜像名字前面

blob.png

查看运行的容器

docker ps

查看运行的容器

blob.png

docker ps -a

加上-a选项后可以查看所有容器,包括未运行的

blob.png

删除指定镜像

docker rmi centos

docker rmi fxqtestos:20180201

//用来删除指定镜像, 其中后面的参数可以是tag,如果是tag时,实际上是删除该tag。当后面的参数为镜像ID时,则会彻底删除整个镜像,所有标签也会一同删除

blob.png

3. 通过容器创建镜像

启动容器

docker run -itd centos /bin/bash

docker run启动容器后,可以通过下面命令进入容器

进入容器

docker exec -it 992c3e4   bash

//其中992c3e4为容器id,这个id可以用docker ps查看,最后面的bash为进入容器后我们要执行的命令,这样就可以打开一个终端

docker start 992c3e4

docker attach 992c3e4

blob.png

提交容器生成新的镜像

进入该容器中,我们做一些变更,比如安装一些东西,然后针对这个容器进行创建新的镜像

在容器中执行 yum install -y net-tools,然后ctrl d退出容器

docker commit -m "install net-tools" -a "fxq" c901ab1c8028 centos-net

//c901ab1c8028 容器ID通过docker ps -a获取,后面的centos-net为新镜像名字

例如:  docker commit -m "install net-tools" -a "fxq" 2c74d574293f centos_with_nettool 这个命令有点像svn的提交,-m 加一些改动信息,-a 指定作者相关信息  2c74d这一串为容器id,再后面为新镜像的名字

blob.png



本文转自 枫叶云  51CTO博客,原文链接:http://blog.51cto.com/fengyunshan911/2068354

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云轻量应用服务器安装宝塔镜像登录账号密码是什么?
阿里云轻量应用服务器安装宝塔镜像,默认的宝塔BT后台登录账号和密码是什么?云服务器吧分享: 轻量服务器宝塔镜像登录账号和密码的获取方法 阿里云轻量应用服务器的宝塔镜像默认的登录账号为:admin,关于轻量的问题可以参考官方文档:轻量应用服务器解决方案汇总,用户遇到的问题文档中都有解决方案,关于宝塔.
5095 0
用Hello World校验Docker的安装
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/48224977 用Hello World校验Docker的安装 作者:chszs,版权所有,未经同意,不得转载。
534 0
CentOS7--使用yum安装和管理软件
yum是红帽软件包管理器,它能能够查询,安装和卸载软件包,以及将整个系统更新到最新的可用版本。Yum可以在安装的过程中自动解决依赖关系。
925 0
Kubernetes(一) - Docker管理工具
虽然Docker已经很强大了,但是在实际使用上还是有诸多不便,比如集群管理,资源调度文件管理等等,那么在这样一个百花齐放的容器时代涌现出了很多解决方案,比如Swarm,Mesos,Kubernetes等等,其中谷歌开源的Kubernetes是作为老大哥的存在,从本节开始将介绍如何打造自己的Kubernetes,并且了解它各个组件的用途
166 0
一键安装Docker图形化管理界面-Shipyard
欢迎关注大数据和人工智能技术文章发布的微信公众号:清研学堂,在这里你可以学到夜白(作者笔名)精心整理的笔记,让我们每天进步一点点,让优秀成为一种习惯! Shipyard是一款开源的图形化的Docker管理工具,记得以前安装很麻烦的,现在官方有了自动安装脚本,使用非常方便。
2940 0
DockOne微信分享( 九十五):树莓派上的Docker集群管理
本文讲的是DockOne微信分享( 九十五):树莓派上的Docker集群管理【编者的话】随着IOT市场的火热发展,Docker天然的轻量级以及帮助业务快速重构的特性,将会在IOT领域迎来巨大发展潜力,甚至有可能会比它在云端的潜力更大。
3233 0
php-build 安装管理多个PHP版本的好帮手
当你开发多个使用PHP不同版本的项目的时候,你也许会期望类似Python 的virtualenv或者Ruby的rvm的工具。虽然php-build不能像virtualenv或rvm一样自动切换环境,但是它能帮助你编译和管理不同版本的PHP安装。
39 0
23704
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载