Docker-初始docker
一、什么是Docker
Docker 在容器的基础上,进行了进一步的封装,从文件系统、网络互联到进程隔离等等,极大的简化了容器的创建和维护。使得 Docker 技术比虚拟机技术更为轻便、快捷。
下面的图片比较了 Docker 和传统虚拟化方式的不同之处。传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程;而容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便。
二、为什么要使用docker
三、docker基本概念
Docker 包括三个基本概念
- 镜像(Image)
- 容器(Container)
- 仓库(Repository)(包含了一些镜像加速器和Registry地址)
理解了这三个概念,就理解了 Docker 的整个生命周期。简单来说,镜像与容器的关系类似面向对象的类与实例的关系。镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
四、docker的安装(摘自:Centos安装Docker CE)
a、安装docker ce
- 按照官网安装教程进行安装:官方有Mac、Windows、Ubuntu、Debian、Centos等安装教程
- 阿里云Docker CE安装镜像帮助文档:阿里云Docker CE镜像源站
因网络问题,本文是参考 阿里云Docker CE镜像源站 方式安装的Centos版的Docker CE。安装成功后:
[root@localhost local]# sudo service docker start
Redirecting to /bin/systemctl start docker.service
[root@localhost local]# docker versionClient:
Version: 17.09.0-ce
API version: 1.32
Go version: go1.8.3
Git commit: afdb6d4
Built: Tue Sep 26 22:41:23 2017
OS/Arch: linux/amd64Server:
Version: 17.09.0-ce
API version: 1.32 (minimum version 1.12)
Go version: go1.8.3
Git commit: afdb6d4
Built: Tue Sep 26 22:42:49 2017
OS/Arch: linux/amd64
Experimental: false
[root@localhost Desktop]#
出现版本信息表示安装成功。
b、配置国内镜像加速器
配置阿里加速器:
参考:镜像加速器
登陆阿里云账号,访问地址:https://cr.console.aliyun.com/#/accelerator ,会有一个专有的加速地址:
按提供的方法配置docker加速器,如果已经存在 /etc/docker 文件夹,就不需要执行 sudo mkdir -p /etc/docker 命令:
配置daocloud加速器:(配置方法:daocloud官方)
[root@localhost Desktop]# curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f79ca91e.m.daocloud.io
docker version >= 1.12
{
"registry-mirrors": ["http://f79ca91e.m.daocloud.io"]
}
Success.
You need to restart docker to take effect: sudo systemctl restart docker
[root@localhost Desktop]# sudo systemctl restart docker
[root@localhost Desktop]# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
bc95e04b23c0: Downloading 10.06MB/22.49MB
f3186e650f4e: Downloading 9.407MB/21.95MB
9ac7d6621708: Download complete
c、检查加速器
命令:docker info ,如下信息表示配置成功
[root@localhost docker]# docker info
Containers: 0
…………
Registry Mirrors:
https://xxxxxxxx.mirror.aliyuncs.com/
Live Restore Enabled: false
默认配置下,如果在 CentOS 使用 Docker CE 看到下面的这些警告信息:
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
请添加内核配置参数以启用这些功能。
[root@localhost Desktop]# sudo tee -a /etc/sysctl.conf <<-EOF
> net.bridge.bridge-nf-call-ip6tables =
> net.bridge.bridge-nf-call-iptables =
> EOF
net.bridge.bridge-nf-call-ip6tables =
net.bridge.bridge-nf-call-iptables =
[root@localhost Desktop]#
然后重新加载 sysctl.conf
即可
[root@localhost Desktop]# sudo sysctl -p
net.bridge.bridge-nf-call-ip6tables =
net.bridge.bridge-nf-call-iptables =
[root@localhost Desktop]#
d、建立 docker 用户组
默认情况下,docker
命令会使用 Unix socket 与 Docker 引擎通讯。而只有 root
用户和 docker
组的用户才可以访问 Docker 引擎的 Unix socket。出于安全考虑,一般 Linux 系统上不会直接使用 root
用户。因此,更好地做法是将需要使用 docker
的用户加入 docker
用户组。
建立 docker
组:
先查看是否存在docker用户组
[root@localhost Desktop]# grep docker /etc/group
不存在就新建docker分组:
[root@localhost Desktop]# sudo groupadd docker
为当前用户 docker
组创建用户(dockuser)并设置密码(dockuser):
[root@localhost Desktop]# useradd -G docker dockuser
[root@localhost Desktop]# passwd dockuser
Changing password for user dockuser.
New password:
BAD PASSWORD: The password contains the user name in some form
Retype new password:
Docker-初始docker的更多相关文章
- Docker初始
如今Docker的使用已经非常普遍,特别在一线互联网公司.使用Docker技术可以帮助企业快速水平扩展服务,从而到达弹性部署业务的能力.在云服务概念兴起之后,Docker的使用场景和范围进一步发展,如 ...
- 初始docker
什么是docker? 很多人都是使用docker但是对docker的理解其实并没有这么透彻,只知道怎么用但是不知道为什么用 什么时候去用. 一.环境配置的难题 软件开发最大的麻烦事之一,就是环境配置. ...
- 【Docker学习之一】初始Docker
一.云计算的概念 PaaS(Platform-as-a-Service:平台即服务),把应用服务的运行和开发环境作为一种服务.SaaS(Software-as-a-Service),意思为软件即服务, ...
- .NET遇上Docker - 使用Docker Compose组织Ngnix和.NETCore运行
本文工具准备: Docker for Windows Visual Studio 2015 与 Visual Studio Tools for Docker 或 Visual Studio 2017 ...
- (转) Docker EE/Docker CE简介与版本规划
随着Docker的不断流行与发展,docker公司(或称为组织)也开启了商业化之路,Docker 从 17.03版本之后分为 CE(Community Edition) 和 EE(Enterprise ...
- Docker EE/Docker CE简介与版本规划
随着Docker的不断流行与发展,docker公司(或称为组织)也开启了商业化之路,Docker 从 17.03版本之后分为 CE(Community Edition) 和 EE(Enterprise ...
- 理解Docker :Docker 网络
本系列文章将介绍 Docker的相关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 ...
- Dockerfile & Docker Swarm & Docker Stack & Docker Compose
Dockerfile 通俗地讲,它是为了指导单个镜像从无到有的构建过程.如果你镜像是从Docker registry上面拉下来的,那就用不到这个文件:如果你是自己的应用,想打包成镜像,那就需要这个文件 ...
- [经验交流] docker in docker 的变通实现方法
最近在做CI持续集成环境的容器化,其中一个工作是:在容器中构建容器镜像. 对于这个需求,网上有一些 Docker in Docker 的方法,具体需要修改宿主机的配置.这种方式在单机环境下.对安全要求 ...
- 【Docker】docker /var/lib/docker/aufs/mnt 目录满了,全是垃圾数据,咋搞?
命令: #!/bin/bash # 推荐方式 docker volume ls -f dangling=true | awk '{ print $2 }' | xargs docker volume ...
随机推荐
- Java Web项目--显示一个静态页面
我们可以在Eclipse中新建一个Dynamic Web Project,然后在项目的WebContent目录下新建一个Html文件page1.html,其内容如下: <!DOCTYPE htm ...
- ajax请求加全局loading , 个别特殊请求不显示loading
项目中,请求开始前加载loading遮罩层,请求结束关闭遮罩,一般都会加在全局中,但有个别请求不需要加全局loading 的话,这时候就需要对这些请求进行配置 全局加loading: ; functi ...
- DPK750针式打印机驱动,750u.dll下载
http://pan.baidu.com/s/1dD1SFvV DPK750针式打印机 下载
- 文艺青年装B指南
和大龄文艺青年们去凤凰的时候,很难不注意到狭窄小道旁边的文艺小店.有提供焦糖玛奇朵的咖啡店,有兜售梦露赫本明信片和烟雨 凤凰笔记本的店铺,还有复古式的静吧,常驻唱民谣小众歌曲的流浪歌手.我每看 ...
- 启动phpstyle Apache的80端口被win7的System PID=4的进程占用的解决方法 以及 如何在phpStyle里发布程序
学习前端是,用到Ajax,php语言,操作mysql数据库,浏览器无法解析php代码(把源码输出):原因,我之前用的是tomcat服务器写jsp,servlet,php用的是apache服务器,没有配 ...
- Openstack实现共有云多flat网络
首先给两台虚拟机添加网卡,模式为仅主机模式 配置控制节点IP /etc/sysconfig/network-scripts/ifcfg-eth1 TYPE=Ethernet BOOTPROTO=sta ...
- Cookies Client Identification
HTTP The Definitive Guide Cookies are the best current way to identify users and allow persistent se ...
- Visual Studio 2017 新特性
1. out-variables(Out变量) 以前,我们使用out变量的时候,需要在外部先申明,然后才能传入方法,类似如下: string ddd = ""; //先申明变量 c ...
- 小技巧-如何加快github下载代码的速度(转)
作为开发人员,github是大家的标配了,常常会苦恼于gitclone某个项目的时候速度太慢,看着控制台那几K十几K的龟速,吐血!! 原因很简单:github的CDN被伟大的墙屏蔽所致. 所以解决方案 ...
- ubuntu安装markdown
# sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys BA300B7755AFCFAE linuxidc@linuxidc:~ ...