1. 首页
  2. 科技数码

生活笔记 篇一:我对Docker的理解及基础使用

创作立场声明:个人理解,不喜勿饶。觉得好的,欢迎打赏~谢谢!

【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游戏平台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游戏商店Steam游戏商店

【1.5】什么是宿主机?

也就是运行Docker的计算机。

举例:Docker就像Steam游戏平台,宿主机就是装Steam游戏平台的电脑。

【1.6】什么是反向代理

反向代理的作用是,让反向代理服务器来接受客户端的网络访问连接请求,然后服务器将请求有策略的转发给网络中实际工作的业务服务器,并将从业务服务器处理的结果,返回给网络上发起连接请求的客户端。

Docker容器是相对独立的,也就是docker运行的程序是独立的、不与计算机外界相连通。所以我们需要反向代理来搭个桥,把计算机外网与docker的网络相连接。

【1.7】Docker管理面板

Docker是一种虚拟化技术,要有可视化的操作界面才方便管理容器镜像,Docker管理面板知名的有Linux系统的Portainer,windows系统有官方的客户端,威联通NAS和华硕NAS使用的是Portainer面板,群晖NAS使用的是群晖自建面板。

PortainerPortainer

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面板设置 存储端口环境变量 的参数,例如群晖:

我对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),左上角选择离你最近的地区。

我对Docker的理解及基础使用

然后左边选择镜像工具-镜像加速器,加速地址就是你的专属镜像网址,操作文档显示各个系统的使用方法。

我对Docker的理解及基础使用

【4.2】Docker镜像加速

【4.2.1】群晖配置镜像加速:

我对Docker的理解及基础使用

--------------------

【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