一.Docker定义:
Docker 是一个开源的容器化平台,它可以帮助开发者打包、交付和运行应用程序及其依赖项,以便能够在不同的环境中快速部署和运行。Docker 利用容器技术,将应用程序及其所有运行时环境(如库、依赖项、配置文件等)打包在一个称为容器的独立单元中。
Docker 的一些关键特点和定义:
容器化技术:
Docker 使用容器化技术,将应用程序及其运行时环境隔离在一个独立的环境中,使得应用程序在任何平台或环境中都能以相同的方式运行。
镜像(Image):
Docker 镜像是一个只读的模板,包含了用于创建容器的所有文件和配置。镜像是构建容器的基础,可以在不同的主机上复制和分享。
容器(Container):
Docker 容器是基于 Docker 镜像创建的运行实例。容器是独立且可移植的,可以在任何支持 Docker 的环境中运行。
跨平台:
由于 Docker 利用容器化技术,应用程序和其依赖项被打包为独立的容器,所以可以在任何支持 Docker 的平台上运行,包括开发环境、测试环境和生产环境。
轻量级和快速:
与传统虚拟机相比,Docker 容器更加轻量级和快速。由于容器共享主机操作系统的内核,避免了虚拟机启动时的额外开销,使得容器的启动和停止非常迅速。
易于管理:
Docker 提供了简单易用的命令行工具和图形界面,使得容器的管理、部署和扩展变得非常便捷。
Docker Compose:
Docker Compose 是 Docker 的附加工具,用于通过一个单一的配置文件定义多个服务、网络和卷,并在一个命令中同时启动多个容器。
Docker 改变了软件开发、测试和部署的方式,使得应用程序的交付和运行更加高效和可靠。容器化技术的出现,使得开发者能够更加专注于代码的编写和功能的实现,而无需过多考虑底层的环境配置和依赖项问题。因此,Docker 在软件开发和运维领域得到了广泛的应用和推广。
Docker优点:
Docker 能够自动执行重复性任务,例如搭建和配置开发环境,从而解放开发人员。
Docker思维导图:
二.Docker安装:
1. 在安装Docker前得先打开虚拟机,在你控制面板下,点击程序,点击启用或者Windows功能,进入到功能界面勾选Windows虚拟机监控程序平台,然后点击确定这一步就算完成了。
2.桌面上搜索框搜索命令提示令符,必须是以管理员的方式打开,打开然后输入wsl --install ,运行这行指令,适用于Linux的Windows子系统,然后微软会自动给你配置好WSL2需要的各种配置,让它自己下载即可。如果执行不了wsl -- install 的解决办法,打开官网网页进行下载docker软件,对应自己的系统进行下载,等待安装即可。
3. 进入到docker界面会出现这样的界面,勾选两个对话框,一个是你要使用WSL2而不是要使用Hyper-V,另一个是创建桌面的快捷方式,然后点击ok即可进行安装。安装完以后电脑得重新启动一下。
4.接下来会进入到这样一个界面,我们得去更新一下内核更新包。
5.链接如下旧版 WSL 的手动安装步骤 | Microsoft Learn,接下来会弹出这样一个界面让下载Linux内核更新包,点击下载即可。
接下来点击链接Install Portainer BE with Docker on Linux | 2.19 | Portainer Documentation我们第一个docker,接下来根据指令进行一步步的安装
6.部署
(1)首先,创建 Portainer Server 将用于存储其数据库的卷:
docker volume create portainer_data
(2)然后,下载并安装 Portainer 服务器容器:
docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ee:latest
(3)Portainer Server现已安装完毕。你可以通过运行docker ps来检查Portainer Server容器是否已启动``:
docker ps
(4)登录
https://自己电脑的ipv4地址:9443
Install Portainer BE with Docker on Linux - Portainer Documentation
7.打开设计找到网络点击硬件属性,找到自己的IPv4地址
8.打开网址输入:https://自己电脑的ipv4地址:9443
Username是自己起的名字,Password输入自己设定的密码,Confirm password再次确认自己输入的密码。
10.后面还有个激活页面,不支持使用qq邮箱,点击鲸鱼标识,点击器皿,就可以看到你列表中当前的镜像源。
三.Docker常用指令:
查看Docker版本: docker version
查看已经下载的Docker镜像 :docker image
下载Docker镜像 :docker pull image_name
删除某个Docker镜像:docker rmi image_name
创建一个新的Docker容器:docker creat --name container_name image_name
启动Docker容器:docker start container_name
停止Docker容器:docker stop container_name
删除容器:docker rm container_name
四.编写Dockerfile文件
如何将pycharm中写好的代码打包到docker容器当中去。在打包的前应该准备的一些必要东西,一个是Dockerfile文件,一个是你的代码.py文件,还有一个就是存放你的各种包的requirements.txt文件。
下面是再pycharm中编写的简易代码,实例如下,它主要由三个模块组成,一个是Dockerfile文件,一个是要运行的代码(main.py),一个是存放用到的那些包的txt文档(requirements.txt),注:requirement.txt不需要自己手写,在pycharm终端输入指令:pip freeze > requirements.txt
指令如下:
docker build -t your_image_name .
运行Docker容器,这将在Docker容器中启动你的Python应用程序,并且你可以在容器中查看它的输出和运行情况。
指令如下:
docker run -it your_image_name
输出运行结果说明指令执行完毕
六.交付
如何将Docker中的数据打包给客户使用
1.如何从Docker中导出,通过将Docker镜像导出成一个压缩包(tar文件),将压缩包传输给对方,别人可以在自己的电脑下载一个Docker软件就可以运行分享的文件。
将Docker镜像导出成一个压缩包(tar文件)指令如下:
docker save -o your_image_name.tar your_image_name
客户导入镜像指令如下:
docker load -i 自己文件的绝对路径 \ your_image_name.tar
执行这行指令会出现这样的界面说明客户已经读取到文件了,接着执行下一行指令。
2.开始使用命令来运行容器,执行一下指令就可以运行代码
客户端运行镜像指令如下:
docker run -it your_image_name
七.总结:
我在做Docker任务的时候查询了知乎,哔哩哔哩网站,chatGPT,百度等各种平台,查询了关于Dockerde的安装教程,以及如何将pycharm中代码传入到Docker中运行,以及将Docker镜像打包给用户,让用户在自己的电脑上运行的整体流程。网上关于Docker的安装各种各样的,我结合他们各自的一部分进行了总结,最终将Docker软件安装,并配置好,还有再编写Dockerfile文件的时候也遇到了问题,里面的各种参数所代表的含义,我通过chatGPT进行了一个了解和学习,还有就是在Docker中建立镜像的时候路径的时候应该进入到文件的绝对路径,才能运行指令,否者会报错。最后学习了如何将Docker镜像打包传给客户,让客户在自己的电脑也可以运行我的代码文件的流程。