-
Docker 常用命令
-
查看所有镜像:“docker images”
-
删除image
-
docker基本概念
- 镜像(Image):特殊的文件系统,不包含动态数据,类似于面向程序设计中的“类”
- 容器(Container):容器是镜像运行时的实体,可以被创建,启动,停止,删除,暂停。类似于面向程序设计中的“实例”。容器的实质是进程,拥有独立的命名空间,root文件系统,网络配置等,处于一个隔离环境中。
- 仓库(Repository):镜像构成后,很容易在本机上运行,为了在其他服务器上使用镜像,需要一个集中的存储,分发镜像的服务Docker Registry 。仓库可用于存储镜像,一个仓库包含多个标签,每个标签对应一个镜像。利用<仓库名>:<标签>指定具体是该软件的哪个版本的镜像。仓库多以两段式路径出现,如jwilder/Nginx-proxy,前者用户名,后者软件名。
-
docker 运行
-
使用Dockerfile定制镜像
- 新建文本文件:“mkdir test && touch Dockerfile && vi Dockerfile”
- 编辑Dockerfile
- FROM:指定基础镜像。为了使镜像体积更小,可以使用:“FROM scratch”
- RUN:执行命令行命令,分为shell格式和exec格式,前者为“RUN <命令>”,后者“RUN ["可执行文件",“参数1”,“参数2”]”,类似于函数调用的格式。为了降低镜像层数,尽量减少RUN的数量,不同命令可以使用“&&”串起来,用一个RUN将其放在一层。Dockerfile支持Shell类的行尾添加 \的命令换行,行首添加#注释。
- copY:将从构建上下文目录中
<源路径>
的文件/目录复制到新的一层的镜像内的<目标路径>
位置,例如 copY src pdffigure-detection,需要提前指定工作目录,"workdir /apps" - ADD:类似于copY,但是源路径可以是URL,一般不用
- CMD:ubuntu中CMD默认为/bin/bash
- ENV:设置环境变量
- 构建镜像:在Dockerfile目录下直接:“docker build -t Nginx:v3 .”,也可以用-f指定Dockerfile路径,例如:“docker build -f Dockerfile -t Nginx:v3 .”
-
其他镜像制作方法
- 从rootfs压缩包导入:docker import 压缩包(压缩包下载地址)仓库名:标签
- 保存镜像为压缩包:docker save Image(镜像名) 压缩名 ,例如"docker save hello-world" a.tar
- 从压缩包加载镜像:docker load -i 压缩包地址 ,例如"docker load -i a.tar"
-
docker的容器与本地文件复制
- 本地to容器:docker cp path Container ID:path,例如 "docker cp /home/wps/ssh.txt 1b4cd38be498:/apps/k.txt"
- 容器to本地:docker cp Container ID:path path,例如"docker cp 1b4cd38be498:/apps/requirements.txt /home/wps/r.txt"
-
容器操作
-
仓库操作