docker使用的一些记录

docker基本命令

docker 更换源

编辑/etc/docker/daemon.json

{
  "registry-mirrors": [
  "https://dockerhub.azk8s.cn",
  "https://hub-mirror.c.163.com"
  ]
}

dockerfile

创建"Dockerfile",构建属于自己的docker image

# 查看帮助
docker build --help
# 构建image 值得注意最后有一个".",从当前目录"Dockerfile"构建
docker build -t name:tag .

dockerfile基本构成

以下为"Dockerfile"内容

# "#"号可以做注释
# "FROM"表示从哪个image开始构建
FROM ubuntu:18.04

# "ARG"声明一些dockerfile内部的变量参数
ARG user_name=john

# "RUN"在shell中执行一些命令,可以使用"\"换行
RUN apt update && \
    apt upgrade
# 对于参数较多的名名令可以使用下面的方式
RUN ["echo", "hello world!"]

# "CMD"用来为需要直接启动的container提供默认的命令
CMD ["executable", "param1", "param2"]

# "LABEL"以键值对的方式打标签,有多种方式,可以添加网站信息,描述等
LABEL maintainer="SvenDowideit@home.org.au"
LABEL multi.label1="value1" \
      multi.label2="value2" \
            other="value3"


# "MAINTAINER"维护者信息
MAINTAINER "SvenDowideit@home.org.au"

# "EXPOSE"释放端口号
EXPOSE 80/tcp
EXPOSE 3000/tcp

# "ENV"声明环境变量
ENV myName="John Doe" 

# "ADD"创建新目录或文件
ADD /mydir/
ADD test /mydir/

# "COPY"复制文件
COPY test /relativeDir/

# "ENTRYPOINT" 运行最后的命令,覆盖"CMD"
ENTRYPOINT ["executable", "param1", "param2"]
# "VOLUME"
# "ARG"
# "USER"
# "WORKDIR"

link: https://docs.docker.com/engine/reference/builder/

tips&tricks

# 更换安装源,更新软件更快
RUN  sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g
/etc/apt/sources.list \

docker compose

用来同时启动多个存在内在联系的docker container,协同运行

Comments