Mr.Yuan Mr.Yuan

苟正其身矣,于从政乎何有?不能正其身,如正人何?

目录
Docker 基本介绍
/  

Docker 基本介绍

介绍

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),
几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架或包括系统。

Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版),我们用社区版就可以了。

关于 CE 和 EE 的区别 可以查看此篇文章:https://blog.pilipala.co/articles/2019/06/07/1559896044765

安装

Centos 7.4 安装 Docker: 传送门

镜像

Docker 镜像是用于创建 Docker 容器的模板。

镜像操作

拉取 nginx 镜像

sudo docker pull nginx

镜像列表

sudo docker images

删除镜像

sodu docker rmi <image id>

要删除全部image的话

docker rmi $(docker images -q)

删除指定的镜像

docker rmi mysql:latest

Dockerfile build 镜像

docker build <目录> -t <镜像名>

容器

容器是独立运行的一个或一组应用。

容器操作命令

查看启动容器

sudo docker ps

删除容器

docker rm <CONTAINER ID>  

删除所有容器:

docker rm $(docker ps -a -q)

自定义镜像

Dockerfile:

# 一般的,Dockerfile 分为四部分:基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令。
# ’#’ 为 Dockerfile 中的注释。

FROM golang:alpine as GO_BUILD
ENV GOPROXY=https://goproxy.io
ENV GO111MODULE=on
ENV GOPATH=/golang

# WORKDIR 相当于cd
WORKDIR $GOPATH/src/github.com/test
ADD ./ $GOPATH/src/github.com/test
ADD ./ $GOPATH/src/github.com/test
RUN go mod download
RUN GOOS=linux CGO_ENABLED=0 go build -ldflags="-s -w" -installsuffix cgo -o cvs

# Base images 基础镜像
FROM scratch as prod
# MAINTAINER 维护者信息
MAINTAINER ydq

COPY --from=GO_BUILD /golang/src/github.com/test/ /opt/
# RUN apk add --no-cache ca-certificates tzdata

ENV TZ=Asia/Shanghai
# EXPOSE 映射端口
EXPOSE 9999

ENTRYPOINT ["/opt/test"]

docker容器和镜像区别

https://www.cnblogs.com/bethal/p/5942369.html


标题:Docker 基本介绍
作者:K
地址:https://pala.icu/articles/2019/12/21/1576858828864.html