滴水恩情 发表于 2024-8-3 09:05:04

【Docker学习记载】

Docker学习记载


1. Windows上使用wsl

1.1 安装docker后碰到的一些疑惑



[*]使用wsl -l命令出现了docker-desktop和docker-desktop-data,这两个发行版的关系是什么。在阅读了stackoverflow上一位大佬的回答后,相识到docker-desktop-data是docker-desktop的存储体系。
   docker-desktop负责docker的启动(基本替换了Hyper-V)
docker-desktop-data负责数据的存储(替换了VHD)
(注:distro 指发行版)
链接:What is the docker-desktop-data distro used for when running docker desktop with the WSL 2 engine
1.2. wsl的一些相关命令

wsl -l -o # 列出所有可以在线安装的Linux发行版
wsl -l -v # 列出发行版本号
wsl --version # 查看版本号
wsl --help # 记住这个就不慌
1.3. 补一点,wsl的作用



[*]wsl是【windows for Linux】的缩写,中文翻译为适用于Linux的Windows子体系,可以安装Linux的发新版本,直接在Windows上使用Linux的一应用程序,不用举行任何修改,不需要传统的的捏造机或者双体系的大量资源消耗(可能电脑太拉了,偶尔候电脑捏造机开了直接卡死)。
2. docker一些常用的命令

2.1 构建docker镜像

docker build -t name:version path # 在path下,使用Dockerfile创建一个名为name版本号为version的镜像
2.2 运行镜像

docker run --name=name imageName:version # 使用imageName镜像运行一个名为name的容器
                                                                               # 这个那么不指定的话,系统会自动分配一个奇奇怪怪的名字
docker run -it --name=name imageName:version /bin/bash # -it表示使用交互式终端运行,后面指定/bin/bash
                                                                                                           # 如果Dockerfile中指定了CMD命令的话,以这种方式进入不会执行CMD命令
3. Dockerfile的编写

3.0 docker的一些概念

3.0.1 容器的分层



[*]一个运行的容器可以分为两层,一个是最上层的容器层,另一个是底层的镜像层。容器层是可以举行读写的,镜像层是只读的。
3.0.2 COPY-ON-WRITE



[*]容用具有写时复制的特性,也就是说更改镜像中的文件时,会在容器层创建一个该文件的副本,并修改改副本。
3.1 FROM命令



[*]也就是说以Dockerfile创建的容器必须依赖于一个已存在的镜像,但也可以使用FROM scratch,体现使用一个空缺的捏造镜像举行创建。这种方式创建的镜像,运行后使用的是host的内核。
3.2 ENV命令



[*]指定环境变量,k-v形式ENV key=value,在Dockerfile中的其他位置想要使用环境变量的时候使用该形式{key}。
3.3 ADD命令



[*]添加文件,可以添加压缩文件到镜像中,添加后直接以解压形式在镜像中存在。
3.4 COPY命令



[*]将主机上的文件拷贝到镜像中。
3.5 RUN命令



[*]在镜像构建过程中实行的指令。
3.6 CMD命令



[*]在举行运行过程时实行的指令,不到场镜像的构建。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 【Docker学习记载】