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 个人博客 所有,欢迎分享本文,转载请保留出处,谢谢!

相关文章
|
6月前
|
运维 虚拟化 开发者
Docker-全面详解(学习总结---从入门到深化)
Docker-全面详解(学习总结---从入门到深化)
107 1
|
6月前
|
分布式计算 Java Linux
【深入浅出Docker原理及实战】「原理实战体系」零基础+全方位带你学习探索Docker容器开发实战指南(Dockerfile使用手册)
Docker 是一套构建在 Linux 内核之上的高级工具,旨在帮助开发人员和运维人员更轻松地交付应用程序和依赖关系,实现跨系统和跨主机的部署。使用安全且轻量级的容器环境来实现这一目标。容器可以手动创建,也可以通过编写 Dockerfile 自动创建。开发人员和运维人员可以将应用程序及其依赖打包到容器中,实现应用程序的可移植性和环境一致性。
248 5
【深入浅出Docker原理及实战】「原理实战体系」零基础+全方位带你学习探索Docker容器开发实战指南(Dockerfile使用手册)
|
15天前
|
存储 Ubuntu Linux
学习docker
学习docker
25 1
|
17天前
|
NoSQL Linux Redis
Docker学习二(Centos):Docker安装并运行redis(成功运行)
这篇文章介绍了在CentOS系统上使用Docker安装并运行Redis数据库的详细步骤,包括拉取Redis镜像、创建挂载目录、下载配置文件、修改配置以及使用Docker命令运行Redis容器,并检查运行状态和使用Navicat连接Redis。
134 3
|
20天前
|
运维 Kubernetes 开发者
Docker Swarm学习
【10月更文挑战第5天】
29 3
|
24天前
|
Kubernetes Linux 持续交付
docker容器学习
【10月更文挑战第1天】
31 1
|
2月前
|
存储 Ubuntu Docker
Docker学习
Docker学习
59 4
|
29天前
|
Linux 应用服务中间件 Shell
docker学习--docker容器镜像常用命令大全(简)
本文档详细介绍了Docker中的镜像命令与容器管理命令。镜像命令部分涵盖了镜像搜索、下载、上传等操作;容器管理命令则包括了容器的创建、启动、停止、删除及日志查看等功能。通过具体示例,帮助用户更好地理解和使用Docker相关命令。
126 0
|
29天前
|
Shell 应用服务中间件 nginx
docker学习--最详细的docker run 各子命令解释与应用
`docker run` 是 Docker 中用于启动容器的基本命令。常用子命令包括 `-i`(交互模式)、`-t`(分配终端)、`-d`(后台运行)、`-p`(端口映射)、`--name`(指定容器名)。例如,`docker run -it nginx:1.20 /bin/bash` 可以创建并进入交互式容器。使用 `-d` 可在后台运行容器,`-p` 可将容器端口映射到主机端口,`--name` 则用于自定义容器名称以便管理。
|
3月前
|
网络协议 Shell Docker
docker 学习之路
docker 学习之路
32 1