Docker的学习记录

简介: Docker的学习记录

1.首先下载Docker (这里以windows 桌面版为例)
https://www.runoob.com/docker/windows-docker-install.html

2.下载docker后的命令操作
2.1.创建一个镜像(拉取)

docker pull nginx

2.2.查看在进程中的镜像

docker ps

2.3.查看所有的镜像

docker images

2.4.启动镜像

docker run -d -p 80:80 nginx (-d为不阻塞当前的进程,在后台执行,-p为端口配置 80外 :80内)

2.5.进入镜像(修改环境)

docker exec -it {{IMAGE_ID}} bash

2.6.退出镜像环境

exit

2.7.强制删除docker 容器和镜像

docker rm -f {{IMAGE_ID}}

docker rmi -f {{IMAGE_ID}}

2.8.复制镜像

docker commit {{IMAGE_ID}} {{NEW_IMAGE_NAME }}

2.9.liunx修改文件内容

echo hello > index.html >表示覆盖 >>表示追加

3.Dockerfile基础配置以及构建
基础的文件目录为下图:

配置:

FROM 必须,镜像源 eg: FROM alpine

WORKDIR :非必须,指定当下的shell语句运行在哪个目录下,如果没有则自动创建 eg: WORKDIR /app

COPY : 复制 eg: COPY src/ /app (src为复制源的当前目录 /app 为复制目标的目录,中间有空格)

ADD:添加 eg: ADD src/ /app (跟COPY的区别在于源地址不仅可以文件路径也可以是URL )

RUN : 执行shell 语句 eg: RUN echo 321 >> 1.text

CMD :执行shell语句 eg: CMD tail -f 1.text (tail -f 阻塞式) eg2:CMD cat 1.text

EXPOSE:指定暴漏端口

VOLUME: 指定映射到宿主机的目录下 eg:VOLUME /a/b

ENV:指定当前环境变量 eg: ENV A=10 输出: echo $A

ARG:环境变量(跟ENV的区别是ARG只在构建的时候有效(docker build),构建完成后,再执行就无效了,ENV一直有效)

在构建时可以使用 docker build -t test --biuld-arg A=10 . 来传递初始的全局变量

LABEL:指定一些源数据信息以 key="value"的形式,起到标实作用 eg:LABEL k="v" k1="v1"

ONBUILD:当前镜像构建的时候不会执行,基础当前的镜像的镜像构建的时候才会执行

SHELL :指定SHELL 一般指cmd和shell的切换 eg: SHELL /bin/sh (liunx) eg2:SHELL cmd (windows)

USER:用于指定RUN CMD等指令运行时的用户身份,不指定是root eg:USER node

另附:RUN和CMD区别:

两者都是用于执行命令,区别在于执行命令的时机不同,RUN命令适用于在 docker build 构建docker镜像时执行的命令,

而CMD命令是在 docker run 执行docker镜像构建容器时使用,可以动态的覆盖CMD执行的命令。

基础的Dockerfile文件:

FROM alpine

WORKDIR /app

RUN echo 321 >> 1.text

CMD cat 1.text

构建:docker build -t test . (-t意思为命名镜像,. 意思为Dockerfile在当前的目录下,可以理解为Dockerfile的位置)

参考视频:https://www.bilibili.com/video/BV1k7411B7QL

https://www.bilibili.com/video/BV1R4411F7t9

总结:两个准备 先下载docker 后写Dockerfile 两个命令 先build 后run

build:

docker build -t test .
复制代码
构建完之后可以 通过docker images 来查看是否创建镜像成功了

run:

docker run test
复制代码

作者: Bill 本文地址: http://biaoblog.cn/info?id=1616491560000

版权声明: 本文为原创文章,版权归 biaoblog 个人博客 所有,欢迎分享本文,转载请保留出处,谢谢!

相关文章
|
3月前
|
运维 虚拟化 开发者
Docker-全面详解(学习总结---从入门到深化)
Docker-全面详解(学习总结---从入门到深化)
76 1
|
3月前
|
分布式计算 Java Linux
【深入浅出Docker原理及实战】「原理实战体系」零基础+全方位带你学习探索Docker容器开发实战指南(Dockerfile使用手册)
Docker 是一套构建在 Linux 内核之上的高级工具,旨在帮助开发人员和运维人员更轻松地交付应用程序和依赖关系,实现跨系统和跨主机的部署。使用安全且轻量级的容器环境来实现这一目标。容器可以手动创建,也可以通过编写 Dockerfile 自动创建。开发人员和运维人员可以将应用程序及其依赖打包到容器中,实现应用程序的可移植性和环境一致性。
203 5
【深入浅出Docker原理及实战】「原理实战体系」零基础+全方位带你学习探索Docker容器开发实战指南(Dockerfile使用手册)
|
2月前
|
NoSQL Redis Docker
Docker再学习 - 实战
Docker再学习 - 实战
25 1
|
2月前
|
Java C++ Docker
Docker再学习 - 阿里加速配置篇
Docker再学习 - 阿里加速配置篇
151 0
|
3月前
|
关系型数据库 MySQL Go
Docker从入门到精通:Docker镜像相关命令学习
本文介绍了Docker中管理镜像的基本命令:`docker images`用于查看镜像列表,`docker search`从Docker Hub搜索镜像,`docker rmi`删除镜像,`docker tag`则用于标记和重命名镜像。通过这些命令,用户能有效管理自己的Docker镜像资源。
56 1
|
3月前
|
监控 Docker 容器
Docker从入门到精通:Docker log 命令学习
了解 Docker 日志管理对容器监控至关重要。`docker logs` 命令用于查看和管理容器日志,例如,`docker logs <container_name>` 显示容器日志,`-f` 或 `--follow` 实时跟踪日志,`--tail` 显示指定行数,`--timestamps` 添加时间戳,`--since` 按日期筛选。Docker 支持多种日志驱动,如 `syslog`,可通过 `--log-driver` 配置。有效管理日志能提升应用程序的稳定性和可维护性。
125 0
|
3月前
|
存储 Ubuntu Docker
Docker从入门到精通:Docker pull命令学习
了解Docker镜像下载方法!使用`docker pull`命令从[Docker Hub](https://hub.docker.com/)获取镜像。基本语法是`docker pull NAME[:TAG]`。例如,拉取Python最新镜像的命令是`docker pull python`或`docker pull python:latest`。可选参数包括`-a`(拉取所有标签)和`--quiet`(只显示进度条)。拉取后,用`docker images`检查镜像是否成功存储。开始你的容器化之旅吧!
143 0
|
3月前
|
Cloud Native Shell Linux
云原生专题 | 【深入浅出Docker原理及实战】「原理实战体系」零基础+全方位带你学习探索Docker容器开发实战指南(实战技术总结)
云原生专题 | 【深入浅出Docker原理及实战】「原理实战体系」零基础+全方位带你学习探索Docker容器开发实战指南(实战技术总结)
66 0
|
3月前
|
Cloud Native Linux 虚拟化
云原生专题 |【深入浅出Docker原理及实战】「原理实战体系」零基础+全方位带你学习探索Docker容器开发实战指南(底层实现系列)
云原生专题 |【深入浅出Docker原理及实战】「原理实战体系」零基础+全方位带你学习探索Docker容器开发实战指南(底层实现系列)
160 0
|
3月前
|
存储 运维 Linux
精彩推荐 | 【深入浅出Docker原理及实战】「原理实战体系」零基础+全方位带你学习探索Docker容器开发实战指南(实战技术总结)
在使用Docker时,管理维护工作可能会显得复杂。然而,实际上,Docker提供了许多便捷且人性化的工具,这些工具的使用技巧可以大大简化维护工作,并提升效率。通过掌握这些技巧,你不仅能够更轻松地管理Docker环境,还能展现出专业的能力。接下来我们就给大家介绍一下对于我在工作当中对于Docker容器使用的技术实战总结
67 2
精彩推荐 | 【深入浅出Docker原理及实战】「原理实战体系」零基础+全方位带你学习探索Docker容器开发实战指南(实战技术总结)