前言
前面的文章中荔枝已经学习了Docker的环境搭建以及基本的操作指令,那么接下来荔枝就正式开始学习Docker的一些操作并实操一下,接下来会记录我将云服务器上的整个环境打包成为一个镜像并拉取到树莓派上的过程,同样的也是作为一份学习笔记吧哈哈哈。
文章目录
一、云服务器准备
1.1 安装Docker服务
由于云服务器上直接安装了宝塔面板,所以这一步很简单;至于没装宝塔面板的小伙伴可以选择上官网去找一下安装的教程解决一下需求,荔枝这里就不再赘述了哈。直接在面板上选择Docker并下载就好。
1.2 生成拓展文件
我们在生成项目的镜像文件的时候需要生成项目的依赖文件
pip freeze > requirements.txt
1.3 编写Dockerfile
FROM python:3.8.1
WORKDIR 镜像的工作目录路径
ADD 项目的文件 镜像的存放路径
RUN pip install requirements.txt
CMD ["python","server.py"]
这里荔枝建议在使用pip安装的时候要换一下国内源,否则可能会安装失败,生成镜像的时候就会提示TimeOut超时。这里建议RUN改一下,这里荔枝换成了豆瓣源:
RUN pip install -r requirements.txt -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
1.4 生成Docker镜像
注意有一个点,别漏掉了,否则会报错! 时间很长,耐心等待就好,跑了半个小时了。。。😭
docker build -t 镜像名:版本号 .
如果出现下图的输出就代表着生成镜像成功啦
二、镜像推送至Docker Hub仓库
之所以要将我们刚才定制生成的镜像推送到Docker仓库,是因为荔枝想要尝试一下镜像拉取的操作以及镜像仓库的操作等等哈哈哈。
2.1 登录
首先先要注册一个Docker Hub的账号,用账户和密码来执行登录
docker login
2.2 推送到Docker Hub
使用已经注册的Docker Hub账户和密码连接上自己的镜像仓库之后就执行docker push命令,等待镜像推送完成即可。
推送完成,此时打开Docker Hub网站中自己的镜像仓库发现已经push上去了
三、镜像拉取
树莓派安装完Docker之后(有问题的小伙伴可以参考荔枝的上一篇文章), 这里在树莓派上直接运行docker login并直接使用自己的Docker Hub进行镜像拉取:
docker pull 用户名/镜像名:版本号
查看一下现在的树莓派的本地镜像:
docker images
可以看到荔枝的镜像已经成功从Docker Hub上拉取了,在镜像拉取成功后使用我们从镜像仓库中拉取的镜像开启一个Docker容器:
docker run -itd 镜像名:版本号 /bin/bash
再查看一下是否真正的开启容器成功了
docker ps -a
记录一次bug
在镜像的拉取后可能会出现镜像的架构和系统的不相符合,这时候就会出现如下的报错。
这时候只需要在Docker开启的时候添加一个参数就好:
docker run -itd --platform linux/amd64 镜像名字:版本号
总结
在这篇文章中,荔枝主要介绍了自己对自己的比赛项目进行镜像打包、镜像推送和镜像拉取的操作,同时对于如何定制镜像的操作也进行了介绍,总之这一套流程走完荔枝可以说真正入门Docker啦哈哈哈。Docker的便捷性毋庸置疑,荔枝就深有体会,因为荔枝的云服务器要过期了,所以最近打算找个树莓派跑项目的代码,这时候当然不可能再次去将环境配一遍,因此Docker无疑是荔枝的好帮手哈哈哈哈哈哈。
今朝已然成为过去,明日依然向往未来!我是小荔枝,在技术成长的路上与你相伴,码文不易,麻烦举起小爪爪点个赞吧哈哈哈~~~ 比心心♥~~~