`
sunbin
  • 浏览: 352337 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

安装 docker

 
阅读更多

docker是啥就不多讲了,简言之就是更轻量、更牛叉的新一代虚拟机技术。下面是安装步骤:

一、mac/windows平台的安装

docker是在linux内核基础上发展而来的,无法直接运行在mac/windows上,需要借助docker-machine工具,先在mac/windows上建一个linux的虚拟机,然后才能继续玩下去。默认内置的虚拟机引擎是Oracle的免费软件VirtualBox,可支持vmware fusion之类的商业软件。

1.1 下载docker toolbox

下载地址:http://www.docker.com/docker-toolbox ,toolbox已集成了docker-machine,docker client,virtualbox之插件,强烈建议在mac/windows上学习docker的同学用这种方式安装docker(注:虽然mac上也可以通过brew install 方式安装,但是没有图形界面,学习起来不方便)。

安装过程很简单,一路Next就可以了,唯一要注意的是最后一个界面:

docker toolbox提供了二种运行方式,终端命令行及图形界面,建议初学者选择图形界面,以降低学习难度。

进入后,会要求先创建一个docker hub的账号,注册账号完成邮箱验证后,就能进入了,docker hub上提供了大量的docker镜像文件(可以理解各种虚拟机的模板,不过建议翻~*墙,否则速度奇慢,甚至打不开),基本上可以满足各种要求,比如:需要一个持续集成的虚拟机,可以直接使用jenkins镜像,需要一个mysql,可以直接使用mysql镜像...

天朝的程序员估计是全世界幸福感最差的程序员,所有外国的好东西,要么不能用,要么龟速,docker hub下载巨慢,第1次接触慢慢等吧,后面会介绍如何使用国内daocloud的代理进行加速

注:toolbox并没有提供卸载工具,如果出于某种原因需要卸载,可利用https://github.com/docker/toolbox/blob/master/osx/uninstall.sh 这个脚本完成,脚本内容如下:

上面的脚本并没有删除virtualbox,如果连virtualbox也要卸载,自行到Application面板里,把virtualbox拖到垃圾箱里即可。  

 

1.2 下载镜像

先选一个小点儿的镜像感受下,比如:用kitematic/hello-world-nginx测试下nginx

点击New,搜索nginx就能找到,其文档地址为:https://hub.docker.com/r/kitematic/hello-world-nginx/,通过GUI界面下载的过程,等效于下面的命令:

1
docker pull kitematic/hello-world-nginx

 

1.3 一些常规操作

下图是KI的GUI界面,打红圈的地方可以直接操作,工具栏里的Start点击一下,把nginx容器运行起来

点击上图中"浏览nginx首页"的按钮,就可以直接在浏览器里看到nginx首页了,很方便吧!工具栏里的STOP/RESTART这些按钮看名字就知道用途了,不再啰嗦。

可以有同学注意到了,浏览器里的地址类似:http://192.168.99.100:32774,如果想知道为啥是这个IP及端口,可以看下Ports页,如下图:

上图的意思是,将docker容器中的80端口,映射到虚拟机的32774端口,那么问题来了,192.168.99.100又是哪里来的?

 

点击左下角的DOCKER CLI,就能进入docker终端,然后运行:

1
docker-machine ls 

会显示出当前创建的虚拟机(还记得本文最开头说的,mac上不能直接运行docker,必须先创建一个linux虚拟机吧),输出的default就是虚拟机的名字,然后再运行:

1
docker-machine ip default

就能看到virtual box给虚拟机default分配的IP.  继续,点击下图中的Exec,将进入nginx docker容器的bash命令行模式:

输入nginx -V查看配置文件的位置:

可以看出配置文件为/etc/nginx/nginx.conf,用cat命令查看一下:

从上图看,网站的根目录为/website_files,回到KI中,点击Volumns标签

可以看到实际是上把mac本机的~/Documents/Kitematic/hello-world-nginx/website_files 映射到docker容器实例中的/website_files,大家可以尝试把mac本机~/Documents/Kitematic/hello-world-nginx/website_files 中的index.html修改下,再刷新下浏览器中nginx页面,应该马上就能看到效果了。

 

1.4 docker 命令行的秘密

如果直接在mac本机打开一个终端,然后输入docker ps之类的命令,会提示

1
Cannot connect to the Docker daemon. Is the docker daemon running on this host?

但是从KI界面点击DOCKER CLI进入终端后,再输入docker ps,能正常显示正在运行的容器信息:

原因在于:通过KI进入终端后,会先执行

1
bash -c "clear && DOCKER_HOST=tcp://192.168.99.100:2376 DOCKER_CERT_PATH=/Users/yjmyzz/.docker/machine/machines/default DOCKER_TLS_VERIFY=1 /bin/zsh"

大家在docker CLI终端里,按一下向上的箭头就能发现这个秘密了,把这一行长长的命令换行整理一下,

1
2
3
4
5
6
bash -c "
clear &&
DOCKER_HOST=tcp://192.168.99.100:2376
DOCKER_CERT_PATH=/Users/yjmyzz/.docker/machine/machines/default
DOCKER_TLS_VERIFY=1
/bin/zsh"

并没有什么特别之处,就是定义了几个bash变量而已,上面这一段不用死记,可以简化成:

1
2
docker-machine start default #启动虚拟机default,如果vm未启动的话,先执行这一行
docker-machine env default #获取default的环境变量

第二行执行完以后,会输出:

1
2
3
4
5
6
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.99.100:2376"
export DOCKER_CERT_PATH="/Users/yjmyzz/.docker/machine/machines/default"
export DOCKER_MACHINE_NAME="default"
# Run this command to configure your shell:
# eval $(docker-machine env default)  

注意最后一行,按提示复制 eval $(docker-machine env default),然后执行一下,bash终端就有docker的上下文环境,然后执行docker ps之类的,就不会报错了。  

类似的,点击顶部工具栏上的EXEC,实际上等效于

1
bash -c "clear && DOCKER_HOST=tcp://192.168.99.100:2376 DOCKER_CERT_PATH=/Users/yjmyzz/.docker/machine/machines/default DOCKER_TLS_VERIFY=1 docker exec -it hello-world-nginx sh"

换行整理一下: 

1
2
3
4
5
6
bash -c "
clear &&
DOCKER_HOST=tcp://192.168.99.100:2376
DOCKER_CERT_PATH=/Users/yjmyzz/.docker/machine/machines/default
DOCKER_TLS_VERIFY=1
docker exec -it hello-world-nginx sh"

只是多了最后一行,所以上面这一段相当于:

1
2
eval $(docker-machine env default)
docker exec -it hello-world-nginx sh

 

二、linux平台的安装(以centos为例)  

注意:centos要求7以上版本,低版本的内核docker不支持。

1
2
3
curl -sSL https://get.daocloud.io/docker | sh
sudo chkconfig docker on
sudo systemctl start docker

3行代码就搞定了,其中第1行,是从国内daocloud公司下载的,如果你想从官网下载,可以改成 sudo yum install docker  或 curl -sSL https://get.docker.com/ | sh, 安装完成后,执行:

1
sudo systemctl status docker

查看docker deamon状态,如果有active(running)字样输出,表示docker运行正常.

分享到:
评论

相关推荐

    银河麒麟v10 sp1 server安装docker手册

    银河麒麟v10 sp1 server安装docker手册 本手册主要介绍了在银河麒麟v10 sp1 server上安装docker的步骤,包括配置yum源、安装docker-ce、启动docker、查看docker版本等步骤。 一、配置yum源 在安装docker之前,...

    redhat7.2 离线安装docker-ce依赖包

    离线安装Docker CE在没有互联网连接或者网络环境受限的环境中尤其重要。以下是一个详细的步骤指南,解释如何使用提供的压缩包在RHEL 7.2上离线安装Docker CE及其依赖。 首先,我们需要理解Docker CE的安装过程涉及...

    离线安装docker19.03-ce

    ### 离线安装Docker 19.03-ce 的详细步骤与解析 #### 一、背景介绍 在很多情况下,特别是在企业级环境中或网络受限的场景下,需要进行离线安装Docker等软件。Docker作为一种轻量级的容器技术,在软件开发和部署...

    centos7.4离线安装docker

    我们将使用RPM软件包来完成安装,并且会参考提供的附件“CentOS7.4离线安装docker.doc”以及“docker-for-centos7.4.zip”中的详细指南。 首先,了解Docker是至关重要的。Docker是一种开源的应用容器引擎,允许...

    Proxmox LXC 容器安装docker

    Proxmox LXC 容器安装docker 在 Proxmox 环境中,LXC 容器可以用来安装 Docker,并使用 Rancher 来组建 K8s 集群。在这个过程中,我们需要注意一些限制条件,例如只能在 Ubuntu 容器中安装 Docker,CentOS 容器测试...

    中标麒麟系统离线安装docker依赖包

    本文将详细阐述在中标麒麟系统上离线安装Docker及其依赖包的过程。 Docker是一种开源的应用容器引擎,它允许开发者打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现...

    Ubuntu离线安装docker与nvidia-docker离线资源包

    在Ubuntu系统上离线安装Docker和NVIDIA-docker是一项技术性较强的任务,尤其是在没有网络连接的情况下。这里我们将详细介绍如何通过提供的离线资源包完成这一过程。 首先,我们需要理解Docker和NVIDIA-docker的基本...

    centos6.8-离线安装docker环境所需的rpm

    在本文中,我们将深入探讨如何在CentOS 6.8系统上离线安装Docker环境,这主要依赖于RPM(Red Hat Package Manager)包。RPM是Linux发行版如CentOS用来安装、升级和管理软件的主要方式。由于是离线安装,我们需要预先...

    arm架构centos7安装docker

    安装步骤参考:https://blog.csdn.net/chkai123/article/details/126229727 docker离线安装 arm架构下离线安装docker docker centos7离线安装docekr 离线安装docker arm架构下安装docker arm架构centos7安装docker

    安装docker-compose的两种最简方法

    在本文中,我们将详细介绍两种简单的安装Docker Compose的方法,供需要的朋友们参考。 方法一: 该方法是通过下载Docker Compose的最新版本到本地,然后将其添加到系统的可执行路径中。步骤如下: 1. 首先,通过...

    centos7.6离线安装docker-ce-19.03、nvidia-docker2

    离线环境下,在centos7.6系统上安装docker-ce-19.03,nvidia-docker2.4版本,其中docker-ce-19.03在docker-local.tar压缩文件里面,nvidia-docker2在nvidia-docker2.zip文件中。 具体安装流程如下: 1.安装docker ...

    centos7.6机器上离线安装docker-ce-19.03、nvidia-docker2

    在CentOS 7.6上离线安装Docker CE 19.03和Nvidia Docker 2可以按照以下步骤进行操作: 首先,您需要从Docker官方网站或Nvidia Docker官方网站下载对应版本的安装包。确保选择与您的操作系统和架构(例如x86_64)...

    docker-ce-20.10.21 linux离线rpm安装包

    在Linux环境中,有时我们可能需要在没有网络连接的情况下安装Docker。这时,使用RPM(Red Hat Package Manager)安装包是一种有效的解决方案。本教程将详细介绍如何在离线环境下使用RPM包安装Docker CE(Community ...

    从0到1部署前后分离项目安装docker

    1.从0到1部署前后分离项目安装docker,在liunx系统环境下,包含下载配置,以及常用的docker命令,此教程还是需要有一点docker基础的同学参考的。 1.从0到1部署前后分离项目安装docker,在liunx系统环境下,包含下载...

    内网离线安装docker、docker-compose

    一键离线安装docker、docker-compose

    redhat安装docker-ce依赖包

    在Red Hat Enterprise Linux (RHEL)系统中安装Docker CE(Community Edition)是许多开发者和系统管理员日常工作中的一部分。Docker CE是一个流行的开源平台,它允许用户构建、部署和运行分布式应用程序,通过容器化...

    CentOS6离线安装docker以及相关依赖包(不用升级内核)

    CentOS6离线安装docker1.7,以及相关的依赖架包,包括docker-io-1.7.1-2.el6.x86_64.rpm、lxc-libs-1.0.11-1.el6.x86_64.rpm、lxc-1.0.11-1.el6.x86_64.rpm等以及device-mapper-1.02.117-12.el6_9.1.x86_64.rpm、...

    ubuntu20.04离线安装docker的离线安装文件

    ubuntu20.04离线安装docker的离线安装文件

    Ubuntu离线安装docker

    Ubuntu离线安装docker 下载完成后,执行如下: dpkg -i containerd.io_1.6.6-1_amd64.deb docker-ce_20.10.17~3-0~ubuntu-bionic_amd64.deb docker-ce-cli_20.10.17~3-0~ubuntu-bionic_amd64.deb docker-ce-rootless...

Global site tag (gtag.js) - Google Analytics