docker

docker命令行

2023年4月25日
202304
202304, docker

重要 # image是静态文件,container是运行在内存中的进程 容器内程序必须前台运行 网络 Bridge: default, single host, DNS, 因为有DNS,可以通过catainer name通讯 Host: only Linux, direct attach Overlay: multiple host 小部分容器管理可以使用compose,大规模使用k8s compose生产案例: http://github.com/datastaxdevs/docker-learning-path/tree/master/week-2 通过容器ID找到了容器在宿主机中的pid cat /sys/fs/cgroup/memory/docker/<containerId>/cgroup.procs 查看windows tcp端口限制 netsh interface ipv4 show excludedportrange protocol=tcp docker build # docker build . 构建image docker build -t <image-name>/<repo-name>:<tagname> . docker run # -publish/-p 开启host与容器内端口映射 docker run --publish 80:80/tcp <image> 前台运行 docker run --publish 80:80/tcp --detach <image> docker run --publish 80:80/tcp --d <image> -e ...

Dockerfile 常用指令

2023年4月24日
202304
202304, docker

Comment # #开头的为注释 Parse Directive # # directive=value1 不添加layer,影响Dockerfile 行的执行顺序 放在最开头 # escape=` 用在windows环境下解决反斜杠是路径分隔符的问题 FROM # FromImagename FROM [--platform=<platform>] <image> [AS <name>] FROM [--platform=<platform>] <image>[:<tag>] [AS <name>] FROM [--platform=<platform>] <image>[@<digest>] [AS <name>] ARG 可以出现在FROM前 FROM可以出现多次 ARG VERSION=latest # outside of build stageFROMbusybox:$VERSIONARG VERSION # 要使用FROM前的ARG,需要再像此一样重新声明一次RUN echo $VERSION > image_versionENV # ENV <key>=<value> 使用环境变量 ${variable} 或者 $variable, ${variable}_name更通用 ${variable:-word}, ${variable:+word} ...