【Docker】Docker学习笔记:安装部署
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以上才能运行,所有在安装之前先检查内核版本是否够高。如果不够高则先进行内核升级。
- centos7
centos7更新内核比较简单,执行yum update kernel -y
即可。
- 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学习笔记:安装部署相关推荐
- 《深入浅出Docker》学习笔记
<深入浅出Docker>学习笔记 第三章:docker 安装 linux服务器安装:-略 windows服务器安装:-略 确认安装结果 docker --version 第四章:纵观DOc ...
- Docker容器学习笔记一
Docker容器学习笔记一 狂神说B站视频:https://www.bilibili.com/video/BV1og4y1q7M4?p=1 Docker容器学习笔记二:https://blog.csd ...
- Docker系列之RabbitMQ安装部署教程
Docker系列之RabbitMQ安装部署教程 因为学习RabbitMQ需要,需要安装RabbitMQ,网上找资料,RabbitMQ官方提供了window版.Linux版.Docker版的管理页面,为 ...
- 《自己动手写Docker》学习笔记2
<自己动手写Docker>学习笔记2 1 前言 由于本人毕业设计与云原生领域相关,因此最近在学习Docker相关知识,<自己动手写Docker>涵盖了Docker底层的各类知识 ...
- Docker基础学习笔记01:Docker安装
文章目录 一.Docker概述 (一)Docker为何物 (二)Docker思想 1.集装箱 2.标准化 3.隔离性 二.在私有云上创建虚拟机 (一)登录OpenStack私有云 1.查看[概览] 2 ...
- Docker容器学习笔记(看了狂神视频)
狂神的笔记更加系统详细,推荐大家可以去看狂神的视频教程和笔记.我这里仅根据我自己的需求写的笔记,对于需要快速掌握docker的使用的朋友可以参考学习. Docker 背景需求 之前,开发一套环境,上线 ...
- Docker02 狂神Docker视频学习笔记 :【狂神说Java 哔哩哔哩】Docker最新超详细版教程通俗易懂
目录 0. 视频源 0. 学习网址 基础篇 1. Docker概述 1.1 Docker为什么出现? 1.2 Docker历史 1.3 Docker能干什么 2. Docker安装 2.1 Docke ...
- 【Docker容器学习笔记一】
一.Docker概述 1.Docker为什么会出现? 一款产品: 开发–上线 两套环境!应用环境,应用配置! 开发 - 运维. 问题:我在我的电脑上可以允许!版本更新,导致服务不可用!对于运维来说考验 ...
- Docker入门学习笔记(狂神版)
下述笔记是自己花一天时间看B站狂神说Docker视频的笔记,下列的笔记是根据自己的实践的记录下来的,若想细学掌握Docker建议自行观看(<Docker入门到精通>),去观看狂胜的视频记得 ...
- 【学习笔记】尚硅谷周阳老师的Docker教程学习笔记
本文是尚硅谷周阳老师的Docker教程的相关学习笔记,暂时还没有检查勘误过. 一.Docker简介 1. 简介 Docker的出现是为了解决代码在本机可以正常运行,而部署到其他机器不能运行的问题.这是 ...
最新文章
- css火狐 hover 图片会重新请求,在“unhovering”之后使CSS Hover状态保持不变
- 《数学之美》第11章 如何确定网页和查询的相关性
- 20155319 2016-2017-2 《Java程序设计》第七周学习总结
- Spring-Retry重试实现原理
- JavaWeb:CSS层叠样式表
- 玩转Mixly – 8、Arduino AVR编程 之 变量
- java写龟兔赛跑_简单的实现java多线程——龟兔赛跑
- springboot2整合mysql5_SpringBoot2.X (二十五):SpringBoot整合 Mybatis + MySQL CURD 示例
- Kubernetes 将何去何从?
- Java 面向对象:继承的理解
- SpringCloud工作笔记055---SpringBoot中配置事物管理
- oripa手机版_ORIPA - Origami Pattern Editor
- struts2 与 spring 整合
- DICOM worklist工作原理?
- AI人工智能在自动写歌词软件的最新应用,AI机器人小芝
- ae运动模糊插件安装教程_AEPR运动模糊插件(RSMB) REVisionFX ReelSmart Motion Blur Pro v4.2.3...
- 这个好像、也许、或许、大概、应该、Maybe真的可以算是传说中的Spring.Net了吧...
- 小红书口碑营销推广方式有哪些?
- 人像图片Relight
- wagon-maven-plugin插件实现自动化构建部署到服务器
热门文章
- 智慧交通day02-车流量检测实现01:总览
- LeetCode 1877. 数组中最大数对和的最小值(贪心)
- LeetCode 1695. 删除子数组的最大得分(前缀和+哈希+双指针)
- 程序员面试金典 - 面试题 04.04. 检查平衡性(二叉树高度)
- LeetCode 870. 优势洗牌(贪心 二分查找)
- randn函数加噪声_语义分割中常用的损失函数1(基础篇)
- 服务端_说说Netty服务端启动流程
- dategurd oracle_Oracle 时间和日期处理
- JAVA基础学习预科部分 (Markdown + dox)2021/2/22持续更新中
- linux强制停止压缩任务,6.25任务(linux压缩、打包命令:zip、tar)