Docker

Docker的目的是创建软件程序可移植的轻量容器,让其可以在任何安装了Docker的机器上运行,而不用关心所在的环境。


安装

1.在Docker Hub Registry里的大多数镜像都是64位的。
2.linux上安装docker需要kernel3.8以上。

配置

1.设置代理

在/etc/default/docker.io中 设置export  http_proxy=xxx

Docker概念

镜像
1.Docker允许创建镜像时指定卷和端口。从这个镜像创建的容器继承这些设置。Docker不允许在镜像上指定任何不可移植的内容。
容器
1.在镜像中创建容器,应用由容器来运行。镜像和容器都拥有一个唯一的ID。
2.容器对外可以公开服务,Docker允许公开容器的特定端口。容器启动时,被分配一个随机的私有IP,其他容器可以使用这个IP与其进行通信,这意味着容器将共享一个本地网络。
3.容器被设计用来运行单进程,无法模拟完整的环境。
数据卷
1.容器内的应用可以访问到数据,但数据实际保存在容器之外,在不影响数据的情况下销毁、修改、删除容器。
2.数据卷保存在运行Docker的宿主文件系统上。
3.数据卷可以在容器间共享数据。
链接
要开启容器间通讯,Docker允许你在创建一个新容器时引用其它现存容器,在你刚创建的容器里被引用的容器将获得一个(你指定的)别名。我们就说,这两个容器链接在了一起。
Docker要求声明容器被链接时要开放哪些端口给其他容器,否则将没有端口可用。
命令
//显示当前版本
docker  version
//从公共registry下载一个镜像
docker  pull   xxxx
//列出本地镜像
docker images
//显示docker运行的容器
docker  ps

//检索镜像
docker  search  image_name

//创建运行容器
docker  run  [option]  image   command
--rm   运行的进程退出就删除容器
-d      后台运行
-i -t    交互式



//停止容器运行
docker  stop <容器id> 

//提交容器生成新的镜像。新镜像是原镜像和容器的整合。
docker  commit  <容器ID>  imagename

//打包镜像
docker  save  imagename > xxx.tar

//在另外一台机器导入镜像
docker   load <  xxx.tar

//进入容器内执行
docker  exec   image   xxx

//删除所有未运行的容器
docker  ps  -a -q | xargs docker rm

//查看容器的构建信息
docker  inspect   containerID

//保存容器结果
docker commit containerID   images-Name

//在容器中安装程序
docker run  image_name  apt -get  install  -y app

docker tag  
镜像的tag像是一个软连接,多个tag可以指向同一个image id。

//把同一个image映射为两个版本
docker  tag  image_id    repo:version1
docker  tag  image_id    repo:version2
端口映射
由于docker容器的IP地址每次启动都会变,所以不适用于手动添加端口映射。每次启动容器时由docker自动添加NAT规则,尽可能的把端口映射在创建容器时配置好。

-p oldport : newport









  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值