Docker
文章平均质量分 80
hhhcbw
Hello World!!!
展开
-
Docker 容器化部署 Flask 项目 + Gunicorn + Nginx
准备工作本文使用环境:Linux 发行版:Ubuntu Focal 20.04.4 (LTS)Linux 内核:Linux 5.4.0-100-genericDocker 版本:20.10.12Python:3.7.9Flask:2.0.2Gunicorn:20.1.0Nginx:1.21.4搭建 Linux 环境可参考:Ubuntu安装 Docker 和 Docker Compose创建项目项目结构如下:flask_project/├── docker-compose原创 2022-03-08 17:50:02 · 4025 阅读 · 3 评论 -
Ubuntu安装 Docker 和 Docker Compose
安装 Docker准备工作操作系统需求为了安装 Docker,你需要下面任意 64 位的 Ubuntu 版本:Ubuntu Impish 21.10Ubuntu Hirsute 21.04Ubuntu Focal 20.04 (LTS) (本次使用)Ubuntu Bionic 18.04(LTS)Docker Engine 支持 x86_64 (或 amd64),armhf,arm64 和 s390x 架构。注意Docker 不再支持 Ubuntu 16.04 LTS,介意升级至当原创 2022-03-08 15:37:06 · 1517 阅读 · 0 评论 -
# Docker(九)——构建镜像实例
安全检查当你已经构建了一个镜像,最好使用 docker scan 命令进行安全漏洞检查。Docker 已经与 Synk 合作,去提供安全漏洞检查服务。你必须登录 Docker Hub 才能检查你的镜像。使用 docker scan --login,然后使用 docker scan <image-name> 检查镜像。例如,你可以检查之前构建的 getting-started 镜像,只需要键入。docker scan getting-started输出类似如下:✗ Low sev原创 2022-03-07 14:55:43 · 885 阅读 · 0 评论 -
Docker(八)——使用 Docker Compose
Dokcer Compose 是一个被开发用于帮助定义和分享多容器应用的工具。使用 Docker Compose,我们可以创建一个 YAML 文件去定义服务,使用单一的命令,就可以做好所有事。使用 Docker Compose 最大的优点在于,你可以用一个文件去定义你的应用,保存在你工程仓库的根目录,可以方便地让别人去给你的工程做贡献。并且,也可以让别人方便地克隆你的仓库,开启 Compose 应用。安装 Docker Compose如果你在 Windows 下安装了 Docker Deskto.原创 2022-03-07 12:43:20 · 841 阅读 · 0 评论 -
Docker(七)——多容器应用
如果我们想添加 MySQL 到我们的应用栈。下面产生了几个问题,MySQL在哪里运行?安装在同一个容器还是分开安装?总得来说,每个容器应该只做一件事情,并做好。原因如下:很可能需要扩展 APIs,但是前端和数据库不同。独立的容器使得能够控制版本,更新的版本是隔离的。当你为本地数据库使用一个容器,你可能会想在生产环境终端数据库使用一个管理服务。所以,你不想将你的数据库和应用一起发送。运行多个进程需要一个进程管理器(容器只能启动一个进程),这增加了容器启动和关闭的复杂性。因为这些原因,我们将.原创 2022-03-04 18:10:50 · 1962 阅读 · 0 评论 -
Docker(六)——使用 bind mounts
使用 bind mounts,我们可以控制在主机确切的挂载点。我们可以使用这个去保存数据,但是它总是在容器内部提供额外的数据。当一个应用工作时,我们可以使用 bind mount 去挂载我们的源代码到容器内,使其可以看见代码的改变,并且立即响应产生响应的改变。对于基于 Node 的应用,nodemon 是一个优秀的工具去观察文件的改变并且重启应用。volume 类型比较bind mount 和 named volume 是 Docker 引擎主要使用的 volume 类型。额外的 volume 驱.原创 2022-03-04 16:15:18 · 1158 阅读 · 0 评论 -
Docker(五)——保存数据库
以防你不注意,我们每次启动 container,todo list 就会被清除。为什么? 下面将深挖一下container是如何工作的。container 的文件系统当一个 container,他为他的文件系统使用多个层。每个容器也获得它自己的暂存空间去创建/更新/移除文件。任何改变都不会被其他容器看到,即使他们使用相同的镜像。实践我们启动两个容器,并且每个创建一个文件。你将会看到在一个容器创建的文件在另一个容器是不可用的。启动一个 ubuntu 容器,创建一个 /data.txt 文件,.原创 2022-03-04 15:25:45 · 935 阅读 · 1 评论 -
Docker(四)——分享应用
我们已经构建了一个镜像,让我们分享它。为了分享 Docker 镜像,你应该使用一个 Docker 仓库。默认仓库是 Docker Hub,我们已经使用的所有镜像都来自于这。创建一个仓库为了上传镜像,我们首先需要在 Docker Hub 创建一个仓库。登录 Docker Hub 。点击 Create Repository 按钮仓库名使用 getting-started。确保可见性是 Public。点击 Create 按钮上传镜像在命令行中,尝试运行上传命令。注意你.原创 2022-03-04 11:47:07 · 350 阅读 · 0 评论 -
Docker(三)——更新应用
下面我们对应用进行一个简单的改动,将 No items yet! Add one above! 改为 You have no todo items yet! Add one above!。更新源代码在 src/static/js/app.js 文件中,更新 56 行使用下面的语句。<p className="text-center">You have no todo items yet! Add one above!</p>使用之前的语句更新镜像的版本。do.原创 2022-03-04 11:10:50 · 1108 阅读 · 0 评论 -
Docker(二)——简单应用
下面我们将会以一个运行在 Node.js 上的简单 todo list 为例,演示如何使用 Docker准备工作首先,下载源代码。然后使用 VSCode(或者其他编辑器) 打开,可以看到 package.json 和两个子目录(src 和 spec)。构建应用的容器镜像为了构建应用,我们需要使用一个 Dockerfile。Docker是一个简单的基于文本的脚本之类,用于创建一个容器镜像。在 package.json 所在文件夹下创建 Dockerfile,内容如下:# synt.原创 2022-03-04 10:34:21 · 276 阅读 · 0 评论 -
Docker(一)——Docker概览
Docker是一个用来开发,发送,运行应用的开源平台。确保将你的应用和你的基础架构分离开,所以你可以快速交付软件。使用 Docker,你可以与管理你的应用一样去管理你的基础架构。通过利用 Docker 的方法去快速发送,测试和部署代码,你可以大幅减少在写代码与在生产环境中运行它的延迟。Docker 平台Docker 提供能力去打包和运行一个应用在一个被称为 container 的松散隔离的环境。隔离性与安全性使你能够在一台主机上同时运行多个 container 。container 是轻量化的,并.原创 2022-03-03 18:40:51 · 423 阅读 · 0 评论