创作立场声明:个人理解,不喜勿饶。觉得好的,欢迎打赏~谢谢!
【1】序言
不知道什么时候起,经常看到通过Docker部署程序的文章。看了文章就觉得Docker很厉害,本来需要一堆代码才能部署好的网络程序,docker两三行代码就能搞定~然后就对Docker产生兴趣,百科是这样介绍的:
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
一脸懵逼!然后通过自己动手,部署了几个程序,包装了几个docker镜像,对Docker有了一定的了解。
【1.1】什么是Docker?
Docker的官网https://www.docker.com/
从我角度上来看,Docker就是一种虚拟化技术。例如沙盒软件,就是通过虚拟一个系统环境来运行软件却不影响现实中的电脑。而Docker,就是在电脑或者服务器,划出了一片硬件资源空间,给搭建好环境的程序使用,并且这片资源空间可随时回收。有没有觉得Docker像VM workstation?
举例:Docker就像一个类似Steam的游戏平台。
Steam游戏平台
【1.2】什么是Docker Container容器?
我的理解,就是已经划定好的给某系统、软件进行运行的资源空间,这个容器里的程序是相对独立的。
举例:Docker就像Steam游戏平台,Docker容器就像Steam游戏平台里,下载安装好,你正在玩的游戏。
【1.3】什么是Docker Image镜像?
我的理解,就是打包好的程序,程序包含了所需要的系统环境,“开箱即用”。
举例:Docker就像Steam游戏平台,Docker镜像就是平台上的游戏,这些游戏不用给钱点下载就能安装游玩。
【1.4】什么是Docker Hub?
Docker Hub的官网https://hub.docker.com/
也就是Docker官方展示镜像的地方。
举例:Docker就像Steam游戏平台,Docker Hub就是游戏商店。
Steam游戏商店
【1.5】什么是宿主机?
也就是运行Docker的计算机。
举例:Docker就像Steam游戏平台,宿主机就是装Steam游戏平台的电脑。
【1.6】什么是反向代理
反向代理的作用是,让反向代理服务器来接受客户端的网络访问连接请求,然后服务器将请求有策略的转发给网络中实际工作的业务服务器,并将从业务服务器处理的结果,返回给网络上发起连接请求的客户端。
Docker容器是相对独立的,也就是docker运行的程序是独立的、不与计算机外界相连通。所以我们需要反向代理来搭个桥,把计算机外网与docker的网络相连接。
【1.7】Docker管理面板
Docker是一种虚拟化技术,要有可视化的操作界面才方便管理容器镜像,Docker管理面板知名的有Linux系统的Portainer,windows系统有官方的客户端,威联通NAS和华硕NAS使用的是Portainer面板,群晖NAS使用的是群晖自建面板。
Portainer
Portainer安装https://docs.portainer.io/v/ce-2.9/start/intro
【2】Docker的安装
【2.1】Linux安装/升级Docker客户端
官方安装脚本自动安装
curl -fsSL https://get.docker.com | bash -s docker
--------------------
【2.2】Mac安装/升级Docker客户端
对于10.10.3以下的用户 推荐使用Docker Toolbox
Mac安装文件:http://mirrors.aliyun.com/docker-toolbox/mac/docker-toolbox/
对于10.10.3以上的用户 推荐使用Docker for Mac
Mac安装文件:http://mirrors.aliyun.com/docker-toolbox/mac/docker-for-mac/
--------------------
【2.3】Windows安装/升级Docker客户端
对于Windows 10以下的用户,推荐使用Docker Toolbox
Windows安装文件:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/
对于Windows 10以上的用户 推荐使用Docker for Windows
Windows安装文件:http://mirrors.aliyun.com/docker-toolbox/windows/docker-for-windows/
【3】Docker镜像的安装使用
一般docker镜像都会在介绍那给出镜像安装方法,例如bitwarden_rs:
docker pull vaultwarden/server:latest
docker run -d --name vaultwarden -v /vw-data/:/data/ -p 80:80 vaultwarden/server:latest
docker pull vaultwarden/server:latest
理解:推送下载latest版本的docker镜像vaultwarden/server
----------
docker run ... vaultwarden/server:latest
理解:Docker启动镜像vaultwarden/server:latest
----------
--name vaultwarden
理解:容器命名为vaultwarden
----------
-v /vw-data/:/data/
理解:本地文件夹/vw-data/映射容器文件夹/data/,为知笔记数据实际保存在本地文件夹/vw-data/,此文件夹要提前创建
----------
-p 80:80
理解:本地端口与容器端口映射,访问链:外网访问 - 反代理端口 - 本地端口 - 容器端口
----------
-v /etc/localtime:/etc/localtime
理解:容器时间与本地时间同步
----------
--restart=always
理解:容器自启动
根据代码可以方便地在Docker面板设置 存储、端口、环境变量 的参数,例如群晖:
【4】镜像加速
Docker Hub的服务器在国外,国内下载慢,我们可以添加镜像网址来加速下载。
【4.1】Docker镜像网址:
Docker中国https://registry.docker-cn.com
科大镜像https://ustc-edu-cn.mirror.aliyuncs.com/
七牛云加速器https://reg-mirror.qiniu.com
网易云https://hub-mirror.c.163.com/
腾讯云https://mirror.ccs.tencentyun.com/
Azure 中国镜像https://dockerhub.azk8s.cn
阿里云https://<你的ID>.mirror.aliyuncs.com
【4.1.1】阿里云获取镜像网址:
登录阿里云(https://account.aliyun.com/login/login.htm?oauth_callback=https%3A%2F%2Fcr.console.aliyun.com%2F&lang=en),左上角选择离你最近的地区。
然后左边选择镜像工具-镜像加速器,加速地址就是你的专属镜像网址,操作文档显示各个系统的使用方法。
【4.2】Docker镜像加速
【4.2.1】群晖配置镜像加速:
--------------------
【4.2.2】Linux配置镜像加速:
通过修改daemon配置文件/etc/docker/daemon.json来使用加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["镜像网址"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
--------------------
【4.2.3】Mac配置镜像加速:
安装了Docker Toolbox的用户:
创建一台安装有Docker环境的Linux虚拟机,指定机器名称为default,同时配置Docker加速器地址。
docker-machine create --engine-registry-mirror=镜像网址 -d virtualbox default
查看机器的环境配置,并配置到本地,并通过Docker客户端访问Docker服务。
docker-machine env defaulteval "$(docker-machine env default)"docker info
----------
安装了Docker for Mac的用户:
在任务栏点击 Docker Desktop 应用图标 -> Perferences,在左侧导航菜单选择 Docker Engine,在右侧输入栏编辑 json 文件。将
镜像网址加到"registry-mirrors"的数组里,点击 Apply & Restart按钮,等待Docker重启并应用配置的镜像加速器。
--------------------
【4.2.4】Windows配置镜像加速:
安装了Docker Toolbox的用户:
创建一台安装有Docker环境的Linux虚拟机,指定机器名称为default,同时配置Docker加速器地址。
docker-machine create --engine-registry-mirror=镜像网址 -d virtualbox default
查看机器的环境配置,并配置到本地,并通过Docker客户端访问Docker服务。
docker-machine env defaulteval "$(docker-machine env default)"docker info
----------
安装了Docker for Windows的用户:
在系统右下角托盘图标内右键菜单选择 Settings,打开配置窗口后左侧导航菜单选择 Docker Daemon。编辑窗口内的JSON串,填写下方加速器地址:
{
"registry-mirrors": ["镜像网址"]
}
编辑完成后点击 Apply 保存按钮,等待Docker重启并应用配置的镜像加速器。
--------------------
注意:
Docker for Windows 和 Docker Toolbox互不兼容,如果同时安装两者的话,需要使用hyperv的参数启动。
docker-machine create --engine-registry-mirror=镜像网址 -d hyperv default
Docker for Windows 有两种运行模式,一种运行Windows相关容器,一种运行传统的Linux容器。同一时间只能选择一种模式运行。
注意:
最好把代码复制到文本文档,修改镜像网址为正确的镜像加速网址,再复制到代码运行框运行,少个空格都会出错。
【5】全文完
觉得不错,打赏一二。不喜勿饶~
本文由颜小帅发表于什么值得买,严禁未经作者许可私自转载!
未经授权,不得转载
原创文章,作者:夜风博客,如若转载,请注明出处:https://www.homedt.net/47931.html