• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >虚拟化 > Docker快速入门以及环境配置详解

Docker快速入门以及环境配置详解

作者: 字体:[增加 减小] 来源:互联网

本文主要包含docker快速入门,docker,配置开发环境,docker入门实战等服务器相关知识,希望可以进行参考

前言

数据科学开发环境配置起来让人头疼,会碰到包版本不一致、错误信息不熟悉和编译时间漫长等问题。这很容易让人垂头丧气,也使得迈入数据科学的这第一步十分艰难。而且这也是一个完全不常见的准入门槛。

还好,过去几年中出现了能够通过搭建孤立的环境来解决这个问题的技术。本文中我们就要介绍的这种技术名叫Docker。Docker能让开发者简单、快速地搭建数据科学开发环境,并支持使用例如Jupyter notebooks等工具进行数据探索。

简介

Docker 最初 dotCloud 公司内部的一个业余项目

Docker 基于 Go 语言

Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案

Docker 的基础是 Linux 容器(LXC)等技术

Docker 容器的启动可以在秒级实现,这相比传统的虚拟机方式要快得多

Docker 对系统资源的利用率很高,一台主机上可以同时运行数千个 Docker 容器

下面的图片比较了 Docker 和传统虚拟化方式的不同之处,可见容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,而传统方式则是在硬件层面实现。

 

 

容器除了运行其中应用外,基本不消耗额外的系统资源,使得应用的性能很高,同时系统的开销尽量小。传统虚拟机方式运行 10 个不同的应用就要起 10 个虚拟机,而Docker 只需要启动 10 个隔离的应用即可。

主要优势为:

     更快速的交付和部署 - 容器成为了最小单位

     更高效的虚拟化 - 内核级虚拟化

     更轻松的迁移和拓展

     更简单的管理

基本概念

主要是三个:

镜像(Image)

     一个只读的模板,镜像可以用来创建 Docker 容器

    可以简单创建或更新现有镜像,或者直接下载使用其他人的

容器(Container)

    容器是从镜像创建的运行实例,在启动的时候创建一层可写层作为最上层(因为镜像是只读的)

    可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台

    可以把容器看做是一个简易版的 Linux 环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序

仓库(Repository)

    集中存放镜像文件的场所

    最大的公开仓库是 Docker Hub

    国内的公开仓库包括 Docker Pool 等

    当用户创建了自己的镜像之后就可以使用 push 命令将它上传到公有或者私有仓库,这样下次在另外一台机器上使用这个镜像时候,只需要从仓库上 pull 下来就可以了

    Docker 仓库的概念跟 Git 类似,注册服务器可以理解为 GitHub 这样的托管服务

安装

官方网站提供了 Mac, Linux 和 Windows 版本的安装教程。因为我打算使用虚拟机进行安装测试,所以这里主要走 Linux 的安装教程,不过其他的应该大同小异。我的 ubuntu 版本是 14.04 LTS, trusty

Docker 目前只能安装在 64 位平台上,并且要求内核版本不低于 3.10,实际上内核越新越好,过低的内核版本容易造成功能的不稳定。可以通过下面的命令来检查内核版本(两个方式,都可以):

parallels@ubuntu:~$ uname -a
Linux ubuntu 3.13.0-83-generic #127-Ubuntu SMP Fri Mar 11 00:25:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
parallels@ubuntu:~$ cat /proc/version
Linux version 3.13.0-83-generic (buildd@lgw01-55) (gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) ) #127-Ubuntu SMP Fri Mar 11 00:25:37 UTC 2016

这里我们按照官网的教程,不使用 apt-get 而是使用 curl 来进行安装。

     1、如果没有安装 curl,使用 sudo apt-get update; sudo apt-get install curl 来进行安装

      2、下载最新的 Docker 包 curl -fsSL https://get.docker.com/ | sh

      如果想要以 non-root 用户的角色来使用,请使用 sudo usermod -aG docker parallels(这里 parallels 是用户名),注意需要注销并重新登录以应用改动

     3、验证安装

           需要先启用 docker sudo service docker start

           然后可以用 docker version 来查看版本

          最后使用 docker run hello-world 来测试

版本信息

parallels@ubuntu:~$ docker version
Client:
 Version:  1.10.3
 API version: 1.22
 Go version: go1.5.3
 Git commit: 20f81dd
 Built:  Thu Mar 10 15:54:52 2016
 OS/Arch:  linux/amd64

Server:
 Version:  1.10.3
 API version: 1.22
 Go version: go1.5.3
 Git commit: 20f81dd
 Built:  Thu Mar 10 15:54:52 2016
 OS/Arch:  linux/amd64

成功运行 hello world 的结果

parallels@ubuntu:~$ docker run hello-world

Hello from Docker.
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
 3. The Docker daemon created a new container from that image which runs the
 executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
 to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker Hub account:
 https://hub.docker.com

For more examples and ideas, visit:
 https://docs.docker.com/userguide/

这之后的部分是课程需求。

我们需要安装 docker machine 和 virtual box,具体步骤为:

# 获取权限
$ sudo su
# 下载 Docker Machine 的二进制文件 
$ curl -L https://github.com/docker/machine/releases/download/v0.6.0/docker-machine-`uname -s`-`uname -m` > /usr/local/bin/docker-machine && chmod +x /usr/local/bin/docker-machine
# 验证安装
$ docker-machine version
docker-machine version 0.6.0, build e27fb87

添加源

把这行添加到 /etc/apt/sources.list 文件中 deb http://download.virtualbox.org/virtualbox/debian trusty contrib

       wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -

更新并安装 sudo apt-get update; sudo apt-get install virtualbox-5.0

配置

然后是一些配置,先重设默认的虚拟机

      删除原来的默认(如果有的话)docker-machine rm default

      创建新的默认虚拟机 docker-machine create --driver virtualbox default(这一步可能需要等一下,我用的是 Parallel Desktop 11,还需要在虚拟机设置中开启 CPU 虚拟化,主要是支持 vt-x)

然后如果直接在菜单中选择 Virtual Box 的话,就会发现什么都没有,技巧是要在刚才的命令行中输入 virtualbox,然后就可以看到下面的界面:

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Docker快速入门以及环境配置详解

相关文章

  • Docker Base Image自己创建具体实现
  • Docker的理解和基本命令详解
  • Xenserver迁移所有虚拟机到VMware vSphere 6.0
  • 详解如何使用Docker部署一个web项目并打包成镜像文件
  • Docker for windows pull镜像文件的安装位置改变的方法
  • VMware下配置Linux系统局域网和外网访问图文教程
  • 在Ubuntu 16.04安装与使用Docker的教程详解
  • XenServer 详细介绍与 虚拟化系列-Citrix (XenServer 6.1) 安装与配置
  • Docker学习之基于Dockerfile搭建JAVA Tomcat运行环境的方法
  • 优化提高VMware虚拟机运行速度的技巧(详细图文教程)

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • VMWare 虚拟机Centos7安装Oracle数据库的教程图解
    • 在docker中运行mariadb程序的方法
    • VMware中ubuntu虚拟机与windows的端口映射共享一个IP地址的设置教程(图文教程)
    • Docker容器中运行nginx
    • Xenserver迁移所有虚拟机到VMware vSphere 6.0
    • 在docker中安装mysql详解
    • docker容器中crontab无法正常运行解决方案
    • 详解如何修改 Docker 默认网桥地址
    • 浅析docker-compose部署mysql无法访问的问题
    • Docker在CentOS7下不能下载镜像timeout的解决办法(图解)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有