官方下载地址:(mac):https://download.docker.com/mac/stable/Docker.dmg这里,双击刚刚下载的 Doker.dmg 安装包进行安装 。
阿里云下载地址(Mac):> http://mirrors.aliyun.com/docker-toolbox/mac/docker-for-mac/>
阿里云下载地址(windows):> http://mirrors.aliyun.com/docker-toolbox/windows/docker-for-windows/
文章插图
安装完成后启动,Mac 顶部导航栏出现了一个图标,通过菜单可以进行 docker 配置和退出等操作 。
文章插图
官方指南:https://docs.docker.com/install/
阿里云指南(Linux):https://yq.aliyun.com/articles/110806?spm=5176.8351553.0.0.468b1991jdT95t
- 设置加速服务
市面上有很多加速服务的提供商,如:DaoCloud,阿里云等 。这里,笔者使用的是阿里云 。(注意的是,笔者操作系统是 Mac,其他操作系列参见阿里云操作文档)
文章插图
右键点击桌面顶栏的 docker 图标,选择 Preferences,在 Daemon 标签(Docker 17.03 之前版本为 Advanced 标签)下的 Registry mirrors 列表中将
https://xxx.mirror.aliyuncs.com 加到"registry-mirrors"的数组里,点击 Apply & Restart 按钮,等待 Docker 重启并应用配置的镜像加速器 。
文章插图
阿里云操作文档:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
- 查看版本
至此,我们已经安装完成了 。这里,我们来查看版本 。
docker version查看结果,如下所示 。
文章插图
2. 实干派,从搭建 Web 服务器开始
我们作为实干派,那么先来搭建一个 Web 服务器吧 。然后,笔者带你慢慢理解这个过程中,做了什么事情 。首先,我们需要拉取 centos 镜像 。
docker run -p 80 --name web -i -t centos /bin/bash紧接着,我们安装 nginx 服务器,执行以下命令:
rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm安装完 Nginx 源后,就可以正式安装 Nginx 了 。
yum install -y nginx至此,我们再输入 whereis nginx 命令就可以看到安装的路径了 。最后,我们还需要将 Nginx 跑起来 。
nginx现在,我们执行 ctrl+P+Q 切换到后台 。然后,通过 docker ps-a 来查看随机分配的端口 。
文章插图
这里,笔者分配的端口是 32769,那么通过浏览器访问 http://127.0.0.1:32769 即可 。
文章插图
大功告成,哈哈哈~
3. 复盘理解全过程
现在,我们来理解下这个流程 。首先,我们输入 docker run-p80--name web-i-t centos/bin/bash 命令会运行交互式容器,其中 -i 选项告诉 Docker 容器保持标准输入流对容器开放,即使容器没有终端连接,另一个 -t 选项告诉 Docker 为容器分配一个虚拟终端,以便于我们接下来安装 Nginx 服务器 。(笔者备注:Docker 还支持输入 -d 选项告诉 Docker 在后台运行容器的守护进程)
Docker 会为我们创建的每一个容器自动生成一个随机的名称 。事实上,这种方式虽然便捷,但是可读性很差,并且对我们后期维护的理解成本会比较大 。因此,我们通过 --name web 选项告诉 Docker 创建一个名称是 web 的容器 。此外,我们通过 -p80 告诉 Docker 开放 80 端口,那么,Nginx 才可以对外通过访问和服务 。但是,我们的宿主机器会自动做端口映射,比如上面分配的端口是 32769,注意的是,如果关闭或者重启,这个端口就变了,那么怎么解决固定端口的问题,笔者会在后面详细剖析和带你实战 。
这里,还有一个非常重要的知识点 docker run。Docker 通过 run 命令来启动一个新容器 。Docker 首先在本机中寻找该镜像,如果没有安装,Docker 在 Docker Hub 上查找该镜像并下载安装到本机,最后 Docker 创建一个新的容器并启动该程序 。
文章插图
但是,当第二次执行 docker run 时,因为 Docker 在本机中已经安装该镜像,所以 Docker 会直接创建一个新的容器并启动该程序 。
推荐阅读
- JavaScript sort使用方法
- 如何正确使用定速巡航
- 挂烫机最高温度是多少 挂烫机预热多长时间可以使用
- 华为手机清理内存技巧,让手机使用更快
- 华为Mate30Pro日常使用的几个小问题,能容忍就入手吧
- 原来华为EMUI10输入法这么强大!使用这个功能,一分钟能打300字
- 这四种使用习惯手机最容易坏,你有没有中招?
- IE浏览器|全球最大看片工具彻底凉了:微软喊话让用户放弃IE使用Edge
- 使用userdel命令删除用户账户 如何删除用户账户
- 9款Android经常使用的高速开发框架