• [YouTube] How to Get Started with Docker

    摘要 | Notes

    简单来说,利用 Docker 你可以实现为你的项目准备一个完备的部署环境,它被封装为镜像;并且它能够轻量、方便地部署在其他环境上,用镜像得到的本地化容器称为实例。

    制作镜像

    制作镜像的主要内容就是如何写Dockerfile(和.dockerignore,这个和.gitingore写法基本一致,不再介绍)。
    主要结构如下:(以某个 Go 项目为例) ```dockerfile

    选取一个 go 的官方镜像作为基础 作为 编译环境

    FROM golang:1.18 AS builder

设置一些环境变量,其中三个是 golang 所需要的;WORKDIR 是为了方便下面使用而设置的

ENV GOPROXY=https://mirrors.aliyun.com/goproxy/,direct \ GO111MODULE=on \ CGO_ENABLED=0 \ WORKDIR=/tmp/src/

运行 ‘mkdir -p $WORKDIR’ 来创建工作目录

RUN mkdir -p $WORKDIR

将 . 下的内容全部复制到 $WORKDIR ,也就是 /tmp/src/

COPY . $WORKDIR

进入工作目录 并且 进行 go 的包管理操作

RUN cd $WORKDIR && go mod download all

进入工作目录 并且 编译

RUN cd $WORKDIR && go build -o /fileName

选取 alpine 作为运行环境

FROM alpine:3.15.2

复制文件内容

COPY —from=builder /fileName /fileName

在启动容器时运行该命令

CMD [“/fileName”]

  1. <a name="BFMnE"></a>
  2. ## 本地使用
  3. ```shell
  4. sudo docker pull {image name}
  1. sudo docker run -it {image name} {entrance}
  1. sudo docker start {container id}
  2. sudo docker stop {container id}
  1. sudo docker exec -ti {container id} {entrance}
  1. sudo docker container ...
  1. sudo docker image ...

参考资料 | Reference