站长资源服务器
Docker打包镜像及修改配置的实现
简介最近在学习Docker和实际操作中遇到了不少问题,写篇博客记录一下。安装我安装的是windows版的docker desktop,在windows上用docker挺麻烦的,要配置一些东西,在windows上安装docker desktop。安装完成后,以管理员身份运行一般都能跑起来,如果遇到
最近在学习Docker和实际操作中遇到了不少问题,写篇博客记录一下。
安装
我安装的是windows版的docker desktop,在windows上用docker挺麻烦的,要配置一些东西,在windows上安装docker desktop。
安装完成后,以管理员身份运行一般都能跑起来,如果遇到 Docker Access Denied 报错打不开的情况,需要把计算机当前用户加入到docker-users用户组里面。
打开命令行工具输入下面命令检验docker是否安装成功:
甚至可以跑个hello-world:
打包镜像
我们都知道打包命令是 docker build ,除此之外,还需要一个 Dockerfile 文件,命令行打包就不介绍了,分享一个vscode插件,就叫Docker!
安装好了后侧边栏会多一个小鲸鱼,我们可以看到容器的状态和镜像,前提是docker desktop成功安装了。
然后在我们的 Dockerfile 文件上右键,点击 build image ,会提示你输入一个镜像的名称,然后回车就ok了。
运行容器并添加环境变量
有时项目正常运行需要依赖一些环境变量,我们可以通过 -e 指令添加:
docker run -p 4000:4000 -e env1=xxxx -e env2=yyyy ImageID
运行容器并自定义容器名称
我们运行两次 hello-world 后打开 docker desktop,可以发现每次运行的容器名称貌似是随机分配的
我们可以使用 –name 指定容器的名称:
docker run --name hello hello-world
运行结果:
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 会更方便!