这是我参与8月更文挑战的第27天,活动详情查看:8月更文挑战
如果❤️我的文章有帮助,欢迎点赞、关注。这是对我继续技术创作最大的鼓励。更多往期文章在我的个人专栏
docker基本入门以后,可以试试打包 docker镜像 与 编写 dockerfile了。但在此之前我们首先来了解几个基本概念
docker镜像
线上 dockerhub 提供有两类仓库:用户仓库和顶层仓库。
- docker 内部人员提供以及管理着
顶层仓库 - docker 用户根据自己实际需要创建
用户仓库
但需要注意的是, 存放在 docker 仓库内的只是 Dockerfile 镜像文件。
创建镜像是需要额外命令构建镜像才能正常运行, 所以怎样去创建镜像呢?
构建docker镜像的有2种方法:
- 命令
docker commit根据 docker 容器变更生成 docker 镜像 - 命令
docker build通常配合Dockerfile配置文件一同使用, 根据Dockerfile配置文件拉取生成。
但其实这里
创建镜像并不推荐命令docker commit。
因为使用命令docker commit你总得依托别的半成品镜像, 生成 docker 容器过以后, 进入容器执行命令修改成自己需要的容器 —— 这一构建过程不被记录、也不像Dockerfile 配置文件一样可以阅读。
所以这里使用docker commit只是方便演示, 但推荐使用更灵活,更易读的Dockerfile 配置文件来构建 docker 镜像.
创建一个centos镜像
使用命令 docker pull centos 拉取 线上 dockerhub的 centos 系统镜像(官方镜像)
docker pull centos 拉取 centos 镜像后,可以使用命令 docker images 查看机器上是否存在刚才已拉取的 centos 镜像
根据 centos 镜像, 使用命令 docker run 创建对应 docker 容器
docker run -dit -p 4000:8080 centos(镜像名 或 image id)
根据centos镜像创建 docker 容器, 并将容器内4000端口对应映射 为宿主机器8080端口
进入容器并操作
使用命令 docker attach(镜像名 或 image id) 或命令 docker exec -it (镜像名 或 image id) 进入容器中
可以按照下面小例子创建一个前端项目,步骤如下:
- npm install -g vue-cli 全局安装 vue-cli
- 创建项目
- vue create 选择手动配置
- vue ui
- npm run build 建立生成环境代码
- npm run serve / npm run dev 启动webpack
- vue serve demo.vue 单页应用启动
验证
在浏览器上输入http://服务器ip:8080 ,如果出现刚才编写的 vue 单页应用即可
将容器打包成镜像
使用命令 docker commit -a "vdo" -m "my vue app" 提交容器变更
命令参数说明:
-a: 镜像作者
-c: 使用 Dockerfile指令 方式创建镜像
-m: 本次提交说明文字
-p: 在镜像提交变更时,容器暂停