百科不全书之 docker记录

发布于:2024-04-21 ⋅ 阅读:(29) ⋅ 点赞:(0)

1.参考文件

参考视频:B站【GeekHour】Docker入门教程: 【GeekHour】30分钟Docker入门教程

在这里插入图片描述
在这里插入图片描述

2. Docker简介

Docker是一个用于构建运行 传送 应用程序的平台。
在这里插入图片描述

与虚拟机的区别

虚拟机使用了一种叫做虚拟化的技术,虚拟化技术可以将物理资源,虚拟成多个逻辑资源的技术。每台虚拟机需要占用硬件资源。
其实Docker只是容器的一种实现,而容器是一种虚拟化技术和虚拟机类似,也是一种独立的环境,可以在这个环境中运行应用程序,和虚拟机不同的是,不需要运行一个完整的操作系统,而是使用宿主机的操作系统。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
镜像:一个只读的模板,可以用来创建容器。
容器:docker的运行实例,提供了一个独立的可移植的环境。可以在这个环境中运行应用程序。
镜像=食谱,容器=做出来的菜。
仓库:Docker仓库是用来存储Docker镜象的地方。最流行和最常用的仓库就是Dockerhub。
Docker有一个特点,容器中的数据不会持久化,如果想持久化容器中的数据,就需要使用逻辑卷,它可以把容器中的目录或者指定路径,映射到宿主机的某一个目录或者位置上,这样就可以将数据保存到宿主机的磁盘上。
Dev Environments: 是一个beta的测试功能,是用来管理开发环境的,可以在这里创建一个开发环境,使用一些代码来配置这个环境,然后可以把这个开发环境共享给项目中的其他开发人员。
Docker Compose: 将互相管理的容器,组合在一起。
在这里插入图片描述

3. 安装Docker

下载网址:https://www.docker.com/products/docker-desktop/
然后安装运行docker
windows电脑使用docker 需要先开启 Hyper-v功能;

注意 Windows家庭版的要额外设置

Windows家庭版没办法直接开启Hyper-v功能,需要新建一个文本文档,输入下面内容之后,点击另存为,设置文件名为:Hyper-v.bat
,保存类型为 所有文件。

pushd "%~dp0"

dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hv.txt

for /f %%i in ('findstr /i . hv.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"

del hv.txt

Dism /online /enable-feature /featurename:Microsoft-Hyper-V -All /LimitAccess /ALL

Pause

在这里插入图片描述
之后,右键点击文件,以管理员身份运行,之后重启,就能看到已经开启了虚拟化的功能。
在这里插入图片描述
在这里插入图片描述
安装完成之后,在命令行输入 docker version 如果可以看到版本信息,就代表安装成功。只有docker有 client 和 server。如果只能看到client看不到 server 就代表你的docker客户端没有启动,需要启动 docker 客户端。
在这里插入图片描述
如果启动的过程中,一直显示图下的信息。
在这里插入图片描述
需要在终端输入 wsl --update 命令。安装成功之后 输入 wsl --set-default-version 2;重启电脑之后就可以了。

4.使用

容器化:将应用程序打包成容器,然后在容器中运行应用程序的过程。
在这里插入图片描述
Dockerfile:文本文件,包含了指令,用来告诉docker如何构建镜像,类似于makefile.
Play with Docker(PWD):一个在线的Docker操作平台,可以在里面对Docker进行操作和学习,缺点就是国外网站。
进入 https://labs.play-with-docker.com/
然后点击sign,登录之后就可以进行操作了。每次登录会有免费的4小时体验时间,超过4小时之后,需要重新登录。
注册的时候一直卡住,可以试试蓝奏云软件合集-软件分享基地; https://www.vqs.com/article/4425.html

docker pull  geekhour/hello-docker  // 下载镜像
docker images    // 查看镜像
docker run geekhour/hello-docker //运行程序

5.docker与ROS