docker 镜像操作
-
拉取镜像 docker pull
docker pull [Registry]/[Repository]/[Image]:[Tag]。
-
Registry 为注册服务器,Docker 默认会从 docker.io 拉取镜像,如果你有自己的镜像仓库,可以把 Registry 替换为自己的注册服务器。
-
Repository 为镜像仓库,通常把一组相关联的镜像归为一个镜像仓库,library 为 Docker 默认的镜像仓库。
-
Image 为镜像名称。
-
Tag 为镜像的标签,如果你不指定拉取镜像的标签,默认为 latest。
-
Repository 为镜像仓库,通常把一组相关联的镜像归为一个镜像仓库,library 为 Docker 默认的镜像仓库。
-
Image 为镜像名称。
-
Tag 为镜像的标签,如果你不指定拉取镜像的标签,默认为 latest。
-
-
重命名镜像 docker tag
docker tag [SOURCE_IMAGE][:tag] [TARGET_IMAGE][:tag]
-
查看查看本地已经存在的 docker image ls / docker images
-
删除无用镜像 docker rmi
-
构建镜像
- docker commit 命令从运行中的容器提交为镜像;
- docker build 命令从 Dockerfile 构建镜像。
Dockerfile 指令 | 表头 |
---|---|
FROM | Dockerfile 除了注释第一行必须是 FROM ,FROM 后面跟镜像名称,代表我们要基于哪个基础镜像构建我们的容器。 |
RUN | RUN 后面跟一个具体的命令,类似于 Linux 命令行执行命令。 |
ADD | 拷贝本机文件或者远程文件到镜像内 |
COPY | 拷贝本机文件到镜像内 |
USER | 指定容器启动的用户 |
ENTRYPOINT | 容器的启动命令 |
CMD | CMD 为 ENTRYPOINT 指令提供默认参数,也可以单独使用 CMD 指定容器启动参数 |
ENV | 指定容器运行时的环境变量,格式为 key=value |
ARG | 定义外部变量,构建镜像时可以使用 build-arg = 的格式传递参数用于构建 |
EXPOSE | 指定容器监听的端口,格式为 [port]/tcp 或者 [port]/udp |
WORKDIR | 为 Dockerfile 中跟在其后的所有 RUN、CMD、ENTRYPOINT、COPY 和 ADD 命令设置工作目录。 |
docker 容器操作
-
容器的生命周期
-
created:初建状态
-
running:运行状态
-
stopped:停止状态
-
paused: 暂停状态
5.deleted:删除状态
-
-
容器生命周期操作
-
docker create 将镜像转化为容器处建状态
docker create -it --name=busybox busybox
-
docker start 初建状态->运行状态 / 停止状态 -> 运行状态
-
docker stop 运行状态->停止状态
-
docker pause 运行状态->暂停状态
-
docker unpause 暂停状态->运行状态
-
docker rm 删除
-
docker restart 重启镜像
-
docker attach / docker exec -it CONTAINER 进入容器
-
docker export busybox > busybox.tar 导出命令
-
docker import busybox.tar busybox:test 导入容器
-
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
-
OPTIONS
-
-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
-
-d: 后台运行容器,并返回容器 ID;
-
-i: 以交互模式运行容器,通常与 -t 同时使用;
-
-P: 随机端口映射,容器内部端口随机映射到主机的端口
-
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
-
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
-
--name="nginx-lb": 为容器指定一个名称;
-
--dns 8.8.8.8: 指定容器使用的 DNS 服务器,默认和宿主一致;
-
--dns-search example.com: 指定容器 DNS 搜索域名,默认和宿主一致;
-
-h "mars": 指定容器的 hostname;
-
-e username="ritchie": 设置环境变量;
-
--env-file=[]: 从指定文件读入环境变量;
-
--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定 CPU 运行;
-
-m :设置容器使用内存最大值;
-
--net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
-
--link=[]: 添加链接到另一个容器;
-
--expose=[]: 开放一个端口或一组端口;
-
--volume , -v: 绑定一个卷
-
-
-