站长资源服务器

Docker打包镜像及修改配置的实现

整理:jimmy2024/12/23浏览2
简介最近在学习Docker和实际操作中遇到了不少问题,写篇博客记录一下。安装我安装的是windows版的docker desktop,在windows上用docker挺麻烦的,要配置一些东西,在windows上安装docker desktop。安装完成后,以管理员身份运行一般都能跑起来,如果遇到

最近在学习Docker和实际操作中遇到了不少问题,写篇博客记录一下。

安装

我安装的是windows版的docker desktop,在windows上用docker挺麻烦的,要配置一些东西,在windows上安装docker desktop。

安装完成后,以管理员身份运行一般都能跑起来,如果遇到 Docker Access Denied 报错打不开的情况,需要把计算机当前用户加入到docker-users用户组里面。

Docker打包镜像及修改配置的实现

打开命令行工具输入下面命令检验docker是否安装成功:

Docker打包镜像及修改配置的实现

甚至可以跑个hello-world:

Docker打包镜像及修改配置的实现

打包镜像

我们都知道打包命令是 docker build ,除此之外,还需要一个 Dockerfile 文件,命令行打包就不介绍了,分享一个vscode插件,就叫Docker!

Docker打包镜像及修改配置的实现

安装好了后侧边栏会多一个小鲸鱼,我们可以看到容器的状态和镜像,前提是docker desktop成功安装了。

Docker打包镜像及修改配置的实现

然后在我们的 Dockerfile 文件上右键,点击 build image ,会提示你输入一个镜像的名称,然后回车就ok了。

Docker打包镜像及修改配置的实现

运行容器并添加环境变量

有时项目正常运行需要依赖一些环境变量,我们可以通过 -e 指令添加:

docker run -p 4000:4000 -e env1=xxxx -e env2=yyyy ImageID

运行容器并自定义容器名称

我们运行两次 hello-world 后打开 docker desktop,可以发现每次运行的容器名称貌似是随机分配的

Docker打包镜像及修改配置的实现

我们可以使用 –name 指定容器的名称:

docker run --name hello hello-world

运行结果:

Docker打包镜像及修改配置的实现

Docker 修改 host

使用docker run运行一个新的容器的时候,通过参数 –add-host 来添加域名和IP信息到容器的/etc/hosts文件中:

docker run -p 8080:8080 --add-host=hostname:127.0.0.1 ImageID

导出镜像到本地

当我们开发把项目打包好镜像后,可能需要给运维或后端人员进行部署测试,可以使用 save -o 命令把镜像导出:

docker save -o .\保存的路径\镜像文件名 镜像

比如:
dicker save -o .\Desktop\hello.tar hello-world

个人觉得使用 docker hub 会更方便!