Docker 是实现轻量级的操作系统虚拟化解决方案。 Docker目前已经支持非常多的Linux平台,Ubuntu、Red Hat企业版Linux、Debian、CentOs、Fedora、Oracle Linux等。如果使用虚拟环境,甚至可以在OS X 和 windows中运行。

安装的条件

  • Docker目前只能在64位CPU架构的计算机上运行(目前只能是x86_64 、amd64)。
  • Linux 3.8 或 更高版本的内核。3.8之前的版本也能运行,但效果不同,遇到问题时大家都建议你升级。
  • 内核必须支持一些适合的存储驱动(strage drive),例如:
  • Device Manage
  • AUFS
  • vfs
  • btrfs
  • 默认存储驱动通常是Device
  • 内核必须支持并开启cgroup和命名空间(banespace)功能

    Ubuntu

    通过系统自带包安装

    Ubuntu 14.04 版本系统中已经自带了 Docker 包,可以直接安装。

  • 更新最新内核,如果是比较老的内核,在运行期间可能会出现一些功能不支持。

    sudo apt-get update
    sudo apt-get install linux-image-generic-lts-raring linux-headers-generic-lts-raring

  • 安装完成,重启

    sudo reboot

  • 直接安装本地docker.io包

    sudo apt-get install -y docker.io
    sudo ln -sf /usr/bin/docker.io /usr/local/bin/docker
    sudo sed -i '$acomplete -F _docker docker' /etc/bash_completion.d/docker.io

通过Docker源安装最新版本

使用系统自带的docker安装包安装的版本比较低,为0.9.1,需要安装最新的版本则,则可通过docker源安装。

  • 更新最新内核。

    sudo apt-get update
    sudo apt-get install linux-image-generic-lts-raring linux-headers-generic-lts-raring

  • 安装完成,重启

    sudo reboot

  • 首先要安装apt-transport-https支持

    sudo apt-get install apt-transport-https

  • 添加docker源安装

    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
    sudo bash -c "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list"
    sudo apt-get update
    sudo apt-get install lxc-docker

CentOS

因为selinux和LXC有冲突,所以需要禁用

/etc/selinux/config
SELINUX=disabled

更新内核

docker必须得内核3.8以上才能运行,所有在安装之前先检查内核版本是否够高。如果不够高则先进行内核升级。

  1. centos7
    centos7更新内核比较简单,执行yum update kernel -y即可。
  1. centos6.x
    导入key
    rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
    安装elrepo的yum源
    rpm -ivh http://www.elrepo.org/elrepo-release-6-5.el6.elrepo.noarch.rpm
    安装内核
    yum --enablerepo=elrepo-kernel -y install kernel-lt kernel-lt-devel
    修改grub.conf默认选择默认启动内核
    sed -i "s/default=1/default=0/g" /etc/grub.conf
    系统中有两个grub.conf。/boot/grub下的也修改下
    sed -i "s/default=1/default=0/g" /boot/grub/grub.conf
    重启
    reboot

自带包安装

CentnOS7中已带Docker,直接安装即可,但版本不一定最新,建议使用EPEL安装

sudo yum install docker

使用EPEL库安装Docker

  • centos6.X

    sudo yum install http://mirrors.yun-idc.com/epel/6/i386/epel-release-6-8.noarch.rpm

  • centos7.X

    sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

sudo yum install docker-io

OSX

由于Docker使用了Linux-specific内核特定,所以在Mac OS X无法直接本地运行。但是可以通过安装Boot2Docker application实现。Boot2Docker包含了Virtual Box VM,Docker和Boot2Docker管理工具。

在Mac上运行Docker需要一台虚拟机的帮助,Docker Client运行在本地,Docker Daemon运行在虚拟机中,Boot2Docker作为一个管理工具在本地运行。

安装brew

Boot2Docker可以通过brew来安装比较方便,自动解决依赖。安装命令如下:

curl -LsSf http://github.com/mxcl/homebrew/tarball/master | sudo tar xvz -C/usr/local --strip 1

安装Boot2Docker

通过brew安装
brew install boot2docker

安装过程中需要安装go语言包,需要FQ。

直接安装

从git下载到最新版boot2docker.pkg进行安装即可。

初始化docker

$ boot2docker init

看到如图的结果说明更新成功

$ boot2docker up

看到如图的结果说明启动成功,按照提示设置环境变量

$(boot2docker shellinit)

到这里如果没有报错,说明安装成功,可以愉快的玩耍了。

网络问题解决

由于mac下是通过boot2docker运行,所以不能直接修改/etc/default/docker中的DOCKER_OPTS来进行Docker Hub Mirror机制,在mac下需要通过以下方式来解决。

boot2docker ssh sudo su echo "EXTRA_ARGS="--registry-mirror=http://f2d6cb40.m.daocloud.io\"" >> /var/lib/boot2docker/profile && exit exit boot2docker restart

遇到的问题

开源产品一大特点就是就是坑多,在ubuntu和osx上基本上没有遇到坑,在centos上面遇到的坑比较多。
首先在启动时报一个错Usage of loopback devices is strongly discouraged for production use. Either use--storage-opt dm.thinpooldevor use--storage-opt dm.no_warn_on_loop_devices=trueto suppress this warning. 网友提示升级到最新版本即可,于是采用wget https://get.docker.io/builds/Linux/x86_64/docker-latest -O docker && mv -f docker /usr/bin/docker && chmod +x /usr/bin/docker来升级

启动Docker

sudo service docker start

启动成功以后,可以通过info命令查看docker信息

参考

Docker中文指南
Docker从入门到实践
Docker入门实践
docker读书笔记

以上内容通过参考网上相关博客和自己实践整理,若有问题,欢迎指正、讨论!

转载于:https://www.cnblogs.com/zhiqli/p/4945872.html

【Docker】Docker学习笔记:安装部署相关推荐

  1. 《深入浅出Docker》学习笔记

    <深入浅出Docker>学习笔记 第三章:docker 安装 linux服务器安装:-略 windows服务器安装:-略 确认安装结果 docker --version 第四章:纵观DOc ...

  2. Docker容器学习笔记一

    Docker容器学习笔记一 狂神说B站视频:https://www.bilibili.com/video/BV1og4y1q7M4?p=1 Docker容器学习笔记二:https://blog.csd ...

  3. Docker系列之RabbitMQ安装部署教程

    Docker系列之RabbitMQ安装部署教程 因为学习RabbitMQ需要,需要安装RabbitMQ,网上找资料,RabbitMQ官方提供了window版.Linux版.Docker版的管理页面,为 ...

  4. 《自己动手写Docker》学习笔记2

    <自己动手写Docker>学习笔记2 1 前言 由于本人毕业设计与云原生领域相关,因此最近在学习Docker相关知识,<自己动手写Docker>涵盖了Docker底层的各类知识 ...

  5. Docker基础学习笔记01:Docker安装

    文章目录 一.Docker概述 (一)Docker为何物 (二)Docker思想 1.集装箱 2.标准化 3.隔离性 二.在私有云上创建虚拟机 (一)登录OpenStack私有云 1.查看[概览] 2 ...

  6. Docker容器学习笔记(看了狂神视频)

    狂神的笔记更加系统详细,推荐大家可以去看狂神的视频教程和笔记.我这里仅根据我自己的需求写的笔记,对于需要快速掌握docker的使用的朋友可以参考学习. Docker 背景需求 之前,开发一套环境,上线 ...

  7. Docker02 狂神Docker视频学习笔记 :【狂神说Java 哔哩哔哩】Docker最新超详细版教程通俗易懂

    目录 0. 视频源 0. 学习网址 基础篇 1. Docker概述 1.1 Docker为什么出现? 1.2 Docker历史 1.3 Docker能干什么 2. Docker安装 2.1 Docke ...

  8. 【Docker容器学习笔记一】

    一.Docker概述 1.Docker为什么会出现? 一款产品: 开发–上线 两套环境!应用环境,应用配置! 开发 - 运维. 问题:我在我的电脑上可以允许!版本更新,导致服务不可用!对于运维来说考验 ...

  9. Docker入门学习笔记(狂神版)

    下述笔记是自己花一天时间看B站狂神说Docker视频的笔记,下列的笔记是根据自己的实践的记录下来的,若想细学掌握Docker建议自行观看(<Docker入门到精通>),去观看狂胜的视频记得 ...

  10. 【学习笔记】尚硅谷周阳老师的Docker教程学习笔记

    本文是尚硅谷周阳老师的Docker教程的相关学习笔记,暂时还没有检查勘误过. 一.Docker简介 1. 简介 Docker的出现是为了解决代码在本机可以正常运行,而部署到其他机器不能运行的问题.这是 ...

最新文章

  1. css火狐 hover 图片会重新请求,在“unhovering”之后使CSS Hover状态保持不变
  2. 《数学之美》第11章 如何确定网页和查询的相关性
  3. 20155319 2016-2017-2 《Java程序设计》第七周学习总结
  4. Spring-Retry重试实现原理
  5. JavaWeb:CSS层叠样式表
  6. 玩转Mixly – 8、Arduino AVR编程 之 变量
  7. java写龟兔赛跑_简单的实现java多线程——龟兔赛跑
  8. springboot2整合mysql5_SpringBoot2.X (二十五):SpringBoot整合 Mybatis + MySQL CURD 示例
  9. Kubernetes 将何去何从?
  10. Java 面向对象:继承的理解
  11. SpringCloud工作笔记055---SpringBoot中配置事物管理
  12. oripa手机版_ORIPA - Origami Pattern Editor
  13. struts2 与 spring 整合
  14. DICOM worklist工作原理?
  15. AI人工智能在自动写歌词软件的最新应用,AI机器人小芝
  16. ae运动模糊插件安装教程_AEPR运动模糊插件(RSMB) REVisionFX ReelSmart Motion Blur Pro v4.2.3...
  17. 这个好像、也许、或许、大概、应该、Maybe真的可以算是传说中的Spring.Net了吧...
  18. 小红书口碑营销推广方式有哪些?
  19. 人像图片Relight
  20. wagon-maven-plugin插件实现自动化构建部署到服务器

热门文章

  1. 智慧交通day02-车流量检测实现01:总览
  2. LeetCode 1877. 数组中最大数对和的最小值(贪心)
  3. LeetCode 1695. 删除子数组的最大得分(前缀和+哈希+双指针)
  4. 程序员面试金典 - 面试题 04.04. 检查平衡性(二叉树高度)
  5. LeetCode 870. 优势洗牌(贪心 二分查找)
  6. randn函数加噪声_语义分割中常用的损失函数1(基础篇)
  7. 服务端_说说Netty服务端启动流程
  8. dategurd oracle_Oracle 时间和日期处理
  9. JAVA基础学习预科部分 (Markdown + dox)2021/2/22持续更新中
  10. linux强制停止压缩任务,6.25任务(linux压缩、打包命令:zip、tar)