-
-
Notifications
You must be signed in to change notification settings - Fork 96
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
一个前端的docker笔记(附demo) #30
Labels
Comments
博主第一张图被裁剪了 |
一直关注docker 快速开发部署nodejs应用 基于daoclound 和github ci 或者coding ci 实现快速部署其实挺好玩的 简单的方案 省去了jenkins 和 gitlab的麻烦 目前还在继续研究~ |
Open
Open
前端的容器进程 必将改善前端的 部署痛点 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Docker 大家应该都听过,不过可能对于我们前端来说用得比较少,后端开发和运维应该是对它很了解了。我从去年开始了解到 Docker 的好处后,对它一直很有兴趣。最近,用了一个比较整块的时间研究了一下,这篇文章记录下来。最近2周的空闲时间,看了一下 Docker ,记录一下,免得以后忘了。本文的代码都在 https://github.com/riskers/docker-demo 可以找到。
Docker 存在的意义
对于我们前端来说,这样比较好理解:构建好的镜像只要就是
package.json
,里面只要写好需要的包名和版本号,任何人拿到这份文件都可以获取对应的包,并且能够运行这个程序。但是,我们忘了一个很重要的点,Node 和 npm 也是有版本的啊!举个例子,Node 在 7.x 以上才支持async
,如果我们的服务器上 Node 的版本是 4.x ,那么部署上去肯定是不行的,然后查个半天 BUG ,才发现是 Node 版本的问题。Docker 就是帮我们解决这种问题的,它能够把 Node 版本也能够像package.json
那样记录在配置文件中。Docker概念
Docker 常用命令
容器
判断 docker 是否能正常工作
docker info # 返回所有容器和镜像的数量、基本配置等
运行容器
比如
docker run ubuntu
,会先检查本地是否存在 ubuntu 镜像,如果本地没有该镜像的话,那么 Docker 就会查看 Docker Hub 中是否有该镜像,找到的话就会下载该镜像并将其保存到本地。随后,Docker 在文件系统内部用这个镜像创建了一个新容器,该容器拥有自己的网络、IP地址,以及一个用来和宿主机进行通信的桥接网络接口。
使用容器
docker run -t -i ubuntu
会进入容器,然后exit
离开容器,容器就停止运行了。但容器还是存在的,
docker ps -a
查看所有容器(正在运行的、已经停止的)容器命名
Docker 会为每一个容器自动生成一个随机 id,我们也可以自己为容器指定名称。
容器名称不允许同名,可以使用
docker rm
删除同名容器。重新启动已经停止的容器
获取信息
附着到容器(重新启动并运行一个交互式会话shell)
守护容器
删除容器
镜像
列出镜像
拉取镜像
构建镜像(Dockerfile + docker build)
从新镜像启动容器
可以在 Dokcer 宿主机上指定一个具体的端口映射到容器的80端口上
推送镜像
删除镜像
总结
本文大部分是我读《Docker开发指南》时做的笔记,并结合实际自己做了 demo。
因为我接触 Docker 的时间很短,关于一些概念可能会有一些错误,欢迎指正。
最后啰嗦一下,其实我作为一个前端在工作中根本用不到 Docker ,只是为了兴趣才来看看,万一以后能用到呢。我的拖延症很严重,本来这是去年就要学的,拖到最近才学。
The text was updated successfully, but these errors were encountered: