运行第一个Docker容器-Docker for Web Developers(1)
1. Docker介绍
- Docker由dotCloud公司发起的一个内部项目,后来Docker火了,dotCloud公司改名为Docker了;
- Docker使用了Go语言开发,基于 Linux 内核的 cgroup,namespace,以及 AUFS 类的 Union FS 等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术;
- Docker vs VM如下图所示:
2. Docker的安装
Docker现在区分Community Edition,简称:CE版本;Enterprise Edition,简称:EE。两个版本,一个免费,一个付费。所以我们安装的是的CE版本。安装步骤在官方完成有详细的的说明,这里略过。
我在DO上的服务器操作系统版本是:Ubuntu 14.04 LTS。安装官方文档,能顺利安装成功。
3. Docker架构
4. 运行第一个容器
运行容器可以通过两种方式:
4.1 通过Dockerfile构建一个镜像,上传到Docker Hub上,然后在host主机上pull这个镜像,运行一个容器
4.2 通过docker pull从Docker Registry上获取一个镜像,然后通过这个镜像运行容易。
本文主要说明第一种情况,流程如下图所示:
步骤1
本地机器上新建一个文件夹,创建一个Dockefile文件,创建一个dist目录。dist放置了一个简单的hml页面,页面加载了2个图片,也就是我们前端的代码。
Dockefile
文件内容如下:
FROM nginx:1.11.5
ADD dist/ /usr/share/nginx/html
告诉Docker引擎下载Nginx 1.11.5版本的镜像,然后复制dist文件夹内容到
/usr/share/nginx/html
目录中。
执行生成镜像命令:
docker build -t bage88/docker-demo:0.0.1 -f Dockerfile .
bage88/docker-demo
:我再Docker Hub创建的repository的名称,必须一致,才能保证后面能正确将本地的镜像推动的Docker Hub仓库中。
0.0.1
:镜像的版本号。
步骤2
将生成好的镜像推送到Docker Hub仓库中。命令如下:
docker push bage88/docker-demo:0.0.1
步骤3
需要从Dock Hub获取镜像,默认未修改仓库地址,默认都是从Docker Hub上获取镜像。现在我们来获取刚推送到Docker Hub上的镜像。命令如下:
docker pull bage88/docker-demo:0.0.1
步骤4
最后一步也是最简单的一步,根据镜像运行容易。
docker run -d -p 80:80 bage88/docker-demo:0.0.1
在浏览器中访问地址:http://138.68.40.38/,可以看到下面的界面,表面当前的容器运行成功了。
参考资料
运行第一个Docker容器-Docker for Web Developers(1)的更多相关文章
- 在Windows下编写并运行第一个ASP.NET 5 Preview Web API程序
2015年07月21日在微软中国MSDN的官方微博上得知Visual Studio 2015正式版完美发布. 抱着尝鲜的心态下载了Visual Studio社区版本. 在这个首发的版本里面,我们可以看 ...
- 外部访问docker容器(docker run -p/-P 指令)
容器中可以运行一些网络应用,要让外部也可以访问这些应用,可以通过 -P(大写) 或 -p (小写) 参数来指定端口映射. (1)当使用 -P 标记时,Docker 会随机映射一个 49000~4990 ...
- 教你如何修改运行中的docker容器的端口映射
在docker run创建并运行容器的时候,可以通过-p指定端口映射规则.但是,我们经常会遇到刚开始忘记设置端口映射或者设置错了需要修改.当docker start运行容器后并没有提供一个-p选项或设 ...
- [转帖]docker容器保持运行不退出
docker容器保持运行不退出 2019年01月20日 23:21:22 chvalrous 阅读数 1511 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.cs ...
- [转帖]教你如何修改运行中的docker容器的端口映射
教你如何修改运行中的docker容器的端口映射 在docker run创建并运行容器的时候,可以通过-p指定端口映射规则.但是,我们经常会遇到刚开始忘记设置端口映射或者设置错了需要修改.当dock ...
- 如何修改运行中的docker容器的端口映射
在docker run创建并运行容器的时候,可以通过-p指定端口映射规则.但是,我们经常会遇到刚开始忘记设置端口映射或者设置错了需要修改.当docker start运行容器后并没有提供一个-p选项或设 ...
- Docker安装以及运行第一个HelloWorld
Docker安装以及运行第一个HelloWorld
- docker容器运行后退出,怎么才能一直运行?【转】
现象 启动docker容器 docker run –name [CONTAINER_NAME] [CONTAINER_ID] 查看容器运行状态 docker ps -a 发现刚刚启动的mydocker ...
- Docker容器是否可以改变世界?
Docker容器是否可以改变世界? 2016-01-15 杜亦舒 2016年了,很多大牛开始预测技术趋势,其中一个普遍的观点我也很认同: Docker会更加流行,会改变程序世界 2015年的上半年我接 ...
随机推荐
- 009 搭建Spark的maven本地windows开发环境以及测试
在看完下面的细节之后,就会发现,spark的开发,只需要hdfs加上带有scala的IDEA环境即可. 当run运行程序时,很快就可以运行结束. 为了可以看4040界面,需要将程序加上暂定程序,然后 ...
- AndroidStudio 之 Inter x86 Emulator Accelerator(Haxm installer) - not compatible with windows
- 类属性判断 hasattr getattr
- 《Java并发编程的艺术》--Java中的锁
No1: Lock接口 Lock lock = new ReentrantLock(); lock.lock(); try{ }finally{ lock.unlock(); } No2: 不要讲获取 ...
- Web大前端面试题-Day5
1.写一个深度克隆方法(es5)? /** * 深拷贝 * @param {object}fromObj 拷贝的对象 * @param {object}toObj 目标对象 */ function ...
- 运营商DNS系统安全解决方案
DNS系统面临的主要风险 目前,DNS面临的安全问题主要可以分为三类:DNS欺骗攻击.拒绝服务攻击.系统漏洞,下文将分别进行介绍. DNS欺骗攻击 当一个DNS服务器遭到欺骗攻击,使用了来自一个恶 ...
- BZOJ.3262.陌上花开([模板]CDQ分治 三维偏序)
题目链接 BZOJ3262 洛谷P3810 /* 5904kb 872ms 对于相邻x,y,z相同的元素要进行去重,并记录次数算入贡献(它们之间产生的答案是一样的,但不去重会..) */ #inclu ...
- 潭州课堂25班:Ph201805201 第二课:数据类型和序列类型 (课堂笔记)
workon py3env pip install ipython 安装虚拟环境, 安装完成之后,键入:ipython 进入环境, 数字类型:(整型) int --------> ...
- Linux 下 make 命令 及 make 笔记
Linux 下 make 命令是系统管理员和程序员用的最频繁的命令之一.管理员用它通过命令行来编译和安装很多开源的工具,程序员用它来管理他们大型复杂的项目编译问题.本文我们将用一些实例来讨论 make ...
- android View的点击无效的原因
点击事件不生效,原来是因为我在里面的 ImageView中添加了 android:clickable="true". 解决办法:删掉ImageView中的android:click ...