Ubuntu巡航记(3) -- Docker 安装

前言

Docker 是一种虚拟化技术,可以透过容器(Container)建立多个虚拟机,也可以将虚拟机存档,方便大量布署。

Docker 安装

在 Ubuntu 安装 Docker 非常简单,请参考官网说明,指令如下:

  1. 设定下载仓库(repository):
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release
  1. 加入 Docker 加密金钥(GPG key):
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
  1. 设定稳定的仓库(repository):
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  1. 安装容器(Container):
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
  1. 测试:执行 hello-world 映像档(image),映像档不存在时,会自动下载,这个映像档只会显示「Hello from Docker!」,即自动结束。
sudo docker run hello-world
  1. 安装後可以设定由非系统管理者管理虚拟环境,可参考这里,将一般使用者加入docker群组,可免除一直要输入sudo。
sudo usermod -aG docker $USER
sudo chmod 777 /var/run/docker.sock

登出後再登入後即可。

  1. 测试另一个映像档:
docker run -d -p 80:80 docker/getting-started
  1. Docker Compose可在单一环境同时启动多个服务,例如网站、资料库、Redis...等,详细说明可参考Docker官网文件,Docker Compose 安装指令如下 :
sudo apt install docker-compose
  1. 启动 docker-compose:
sudo docker-compose up
  1. 显示执行中的 container:
sudo docker ps

自行建立映像档

要建立映像档,除了应用程序外还须建立Dockfile,Dockfile 可参考这里

  1. 这里下载范例档,解压缩後,使用 vs code 开启 getting-started-master/app 目录,建立 Dockfile,内容如下:
# syntax=docker/dockerfile:1
FROM node:12-alpine
RUN apk add --no-cache python g++ make
WORKDIR /app
COPY . .
RUN yarn install --production
CMD ["node", "src/index.js"]
  1. 建立映像档:
sudo docker build -t getting-started .
  1. 启动映像档:
docker run -dp 3000:3000 getting-started
  1. 浏览 http://localhost:3000/。

<<:  7 种敏捷估算技术 (Agile Estimation Techniques)

>>:  企业资料通讯Week6 (3) | Transport Layer_婴儿食品版

离职倒数15天:我本来以为子宫是我的附属品,但该不会其实我就只是子宫的容器而已?

辞职前,最犹豫的一件事是「没请产假会不会太亏」,哈哈。几乎公司所有前辈都会劝你辞职前先做的事:买房跟...

没收到资讯的第二天...

不知怎麽的 我昨天抢在报名截止日前报名了 但还是没有收到关於永丰API的任何资讯 这下还真不知道要怎...

Day12_HTML语法9

接下来几天会依序介绍表单相关功能的制作,我们一起加油进阶到下个部分 表单(form) : 可以提供输...

[ 卡卡 DAY 25 ] - React Native 手机装置 keyboard 问题之 右下角的 next and go 设定

一个表单没有良好的 keyboard 操作,怎麽能说是一个好表单!!!! 接续 Day23 + D...

Day 10 「如入鲍鱼之肆」从测试闻出 code smell:万恶之源 ---「重复」

Day 10 「如入鲍鱼之肆」从测试闻出 code smell:万恶之源 ---「重复」 好好写测试...