跳过正文

Docker基本命令

·436 字
目录

基本命令
#

模块功能命令
repo登录仓库docker login [private repo] -u username -p password
image打包镜像docker build . -t name:tag –build-arg VERSION=v1
image拉取镜像docker pull [name:tag]
image列出所有镜像docker images 或 docker image ls
image删除镜像docker image rm [name:tag|image id]
image删除所有不使用的镜像docker image prune [–force –all | -f -a]
container列出运行中的容器docker container [list|ls]
container列出运行中的容器docker ps
container列出所有容器docker container list -a
container启动容器docker run -p 8080:8080 –name test -it [name:tag | image id]
container启动容器docker start [container name | container id]
container进入容器docker exec [OPTIONS] CONTAINER COMMAND [ARG…]
container删除所有停止的容器docker container prune -f

Dockerfile 打包镜像
#

Dockerfiles 项目参考

参考文档

Dockerfile
#

FROM golang:alpine as builder
LABEL maintainer "Jessie Frazelle <jess@linux.com>"

RUN    apk --no-cache add \
    ca-certificates \
    git

ENV PATH /go/bin:/usr/local/go/bin:$PATH
ENV GOPATH /go

RUN go get github.com/kellegous/go || true \
    && cd /go/src/github.com/kellegous/go \
    && go build ./cmd/go \
    && mv go /usr/bin/go


FROM alpine:latest

COPY --from=builder /usr/bin/go /usr/bin/go
COPY --from=builder /etc/ssl/certs/ /etc/ssl/certs

ENTRYPOINT [ "go" ]

打包镜像命令

# Dockerfile所在目录
docker build . -t [name]:[tag]

docker build 传参
#

# 通过--build-arg传递参数
docker build . --build-arg VERSION=v0.0.1 --build-arg JOB=appname

Dockerfile 中通过${}形式使用参数 注意:FROM 命令后如果需要使用参数,必须重新声明一次

FROM golang:1.13-alpine
ARG VERSION=v0.0.1
ARG JOB=APP

RUN echo ${VERSION}
RUN echo ${JOB}

多阶段构建
#

多阶段构建功能允许我们在构建过程中使用多个临时镜像,但只保留最新的镜像作为最终产物

可以将编译与运行环境分离开,并减少依赖,减小镜像大小

docker compose [待补充]
#