文章都可以转载、引用,标明转载出处即可。

docker 安装

docker Mr.c 1925℃ 0评论

  之前一直没理解到docker的意义,尝试安装过docker 没有安装成功,今天再次尝试进行了安装测试,以下是我本次安装docker的总结。
关于docker 的解释等可以看这里:http://www.21yunwei.com/archives/4420
1.宿主机需求
Centos 7 系统,Ubuntu或者其他Linux系统也可以,只是个人喜欢Centos(centos 6.5以上即可使用dockers,但是centos 7 对于docker的支持更加完善),可以是云服务器或者虚拟机。
安装epel-release 源,这里我采用了yum安装方式,在epel源中即可yum安装docker

 yum -y install epel-release 
安装后如果更新yum仓库报错,可以将/etc/yum.repos.d/epel.repo 中mirrorlist 值注释,对应的将baseurl 前面的# 给取消
然后执行yum clean all 
yum list

1.1 docker需要iptables 服务进行NAT转发,centos7下是没有安装的,所以需要自行安装一下,可以看这篇文章:Centos 7 启用iptables

2.2 另外需要开启系统net.ipv4.ip_forward 实现转发

临时开启:
echo 1 > /proc/sys/net/ipv4/ip_forward
永久开启:
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
不管是临时开还是永久开,修改后重启一下网络服务即可生效:
systemctl restart network

  请先完成iptables 和net.ipv4.ip_forward 在开始接下来yum 的安装操作,docker安装的过程中会修改iptables设置,如果是在docker安装以后再安装的iptables ,容器会报错。

yum -y install docker-ce

yum安装过程可能会报错:

Transaction check error:
file /usr/lib/systemd/system/blk-availability.service ......
file /usr/sbin/blkdeactivate from install of device-mapper-7:1.02.107-5 .....
file /usr/share/man/man8/blkdeactivate.8.gz ....
这是由于lvm2 没有安装导致,应该是没有存在依赖关系没有自动安装,可以先执行:
yum -y install lvm2
然后再次安装docker-ce
#设置docker服务为开机自启动,并启动docker
service docker restart
systemctl enable docker.service

2.安装docker 并修改为阿里云镜像加速
  docker官方镜像仓库由于种种原因导致国内下载速度非常慢,一个centos 镜像只有200MB 左右,国内下载可能会直接下载失败,这里采用阿里云加速器进行加速,需要到阿里开通镜像加速服务,开通后会得到一个专有的加速器地址:https://cr.console.aliyun.com/?spm=0.0.0.0.xv2ivA#/accelerator
对于docker1.13以上版本只需要在 /etc/docker/daemon.json 中添加参数即可:

[root@cnyunwei ~]# cat /etc/docker/daemon.json 
{
  "registry-mirrors": ["https://xxxxx.mirror.aliyuncs.com"]
}

3.获取镜像文件

1.查找镜像:[root@myserver /]#docker search centos 
#执行上命令会到镜像库中搜索centos 相关的镜像,搜索出来可以看到第一个为centos官方镜像,其他很多其他版本,如果有需求可以安装对应的镜像。
2.获取镜像:[root@myserver /]#docker pull centos:6.6 
#这里可以在centos后加冒号 填写对应的具体版本,或者为centos:latest  即下载最新版,获取镜像

docker_1

4.创建镜像
镜像下载完成后使用docker images 查看一下镜像信息:

docker_2

如果没有特殊的需求,只是想先创建镜像测试一下,可以使用以下命令:
[root@myserver /]#docker run -d -i -t centos:6.6 /bin/bash 
      可以使用镜像名或者镜像ID 方式进行创建 
      -t 表示让Docker分配一个伪终端并绑定到容器的标准输入上
      -i 表示让容器的标准输入保持打开
      -d 表示以守护方式打开(即非交互模式,后台运行)
      --name tomcat 加上name表示为创建的镜像命令,为了方便管理和区分
      -p 80:8080  表示将docker容器中的8080端口映射到宿主机80端口
      -v /data/:/home/ 表示将宿主/data/ 目录映射到docker容器的/home 中
docker run --name tomcat -d -t -i -p 8022:22 -p 8080:8080 -v /data/:/home/ 镜像ID /bin/bash

5.常用操作命令

进入容器:docker attach 容器ID  (attach 方式进入后操作exit 会导致容器停止)
         docker exec  -ti  容器ID   /bin/bash  这样退出后不会导致容器停止
停止容器:docker stop <容器名orID>
删除容器:docker rm <容器名orID>
删除镜像:docker rmi <镜像名orID>
概要信息:docker info
进程查看:docker ps -a

6.镜像保存
分为两种:保存镜像和保存容器
保存镜像是保存下载的当前镜像信息,大小基本和镜像大小相同。

docker save -o centos_tomcat.tar centos:6.6 
该操作是完整的保存镜像信息,镜像ID 可以用docker images 查看
-o: 表示以文件的形式导出  紧跟在-o后面的是导出文件保存的位置  最后是镜像(仓库:TAG,或者镜像id)
载入镜像:docker  load < centos_tomcat.tar

保存容器可以理解为将当前创建好的容器做一个Ghost 完整备份,如果容器里面存放了文件那么自然生成的文件就很大了。

docker export 容器ID>centos_ex.tar
该操作是保存容器,需要填写容器的ID 号,可以用docker ps -a 查看
导入容器cat centos_ex.tar | docker import -tomcat/centos:6.6

关于save和export 的详细区别和测试可以参看该文章:http://www.server110.com/docker/201411/11213.html

转载请注明:菜鸟运维 » docker 安装

喜欢 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址