Docker学习笔记整理
Docker接触有一段时间了,但是对于Docker的使用可以说是一点不会。现在要在Docker上部署基于Angular开发的页面。只能一点点积累查找的资料,顺手整理一下,方便后面的回顾。
其中用到的资料:
3. Nano命令指南
5. Docker之常用命令
6. Docker入门教程(一)介绍 - DockOne.io
7. Docker入门教程(二)命令 - DockOne.io
8. Docker入门教程(三)Dockerfile - DockOne.io
9. Docker入门教程(四)Docker Registry - DockOne.io
10. Docker入门教程(五)Docker安全 - DockOne.io
11. Docker入门教程(六)另外的15个Docker命令 - DockOne.io
12. Docker入门教程(七)Docker API - DockOne.io
13. Docker入门教程(八)Docker Remote API - DockOne.io
14. Docker入门教程(九)10个镜像相关的API - DockOne.io
为ubuntu开启root登陆权限
http://www.cnblogs.com/xcloudbiz/articles/5217370.html
安装Docker
查看系统内核版本,如果版本过低请升级内核,然后安装docker,启动docker,并将docker设置为启动项
$ uname -r
$ sudo apt-get update
$ sudo apt-get install -y docker.io
$ sudo service docker start
$ sudo systemctl enable docker
创建基础镜像
第一步创建一个docker镜像来安装mono。我们将使用这个作为容器的基本镜像。查看镜像列表,其中是否存在自己需要的镜像。这里用ubuntu作为基础镜像。
docker images

创建Dockerfile
nano Dockerfile
将下面打内容复制到Dockerfile,然后根据自己的情况进行修改(#后的内容为注释):
# 基础镜像版本
FROM ubuntu
# 作者信息
MAINTAINER king
# 安装wget
RUN apt-get -y -q install wget
# 添加apt-get源
RUN wget -q http://download.opensuse.org/repositories/home:tpokorra:mono/xUbuntu_12.04/Release.key -O- | apt-key add -
# 卸载wget
RUN apt-get remove -y --auto-remove wget
# 添加openSUSE的镜像源列表
RUN sh -c "echo 'deb http://download.opensuse.org/repositories/home:/tpokorra:/mono/xUbuntu_12.04/ /' >> /etc/apt/sources.list.d/mono-opt.list"
RUN apt-get -q update
# 安装mono
RUN apt-get -y -q install mono-opt
对上面的内容进行保存
Ctrl + o
关闭
Ctrl + x
然后利用Dockerfile来创建镜像:
$ docker build -t ubuntu_docker .
制作的镜像来检查mono是否安装成功
root@willemKing:docker run -i -t ubuntu_docker bash
检查mono是否安装成功
root@85a5a2d993f7:# /opt/mono/bin/mono --version
Mono JIT compiler version 3.2.6 (tarball Sat Jan 18 16:48:05 UTC 2014)
现在mono安装在/opt下并且工作了
运行一个应用程序
首先我们需要部署一个简单的应用程序,用VisualStudio创建“项目”-“控制台应用程序”,名称“HelloWorld”
using System;
namespace HelloWorld
{
public class Program
{
static void Main(string[] args)
{
var i = 0;
while (i < 20)
{
Console.WriteLine("Hello Docker World");
Thread.Sleep(2000);
i ++;
}
}
}
}
然后将代码贴入,进行编译。生成的文件在此路径下(右键点击解决方案-在文件资源管理器中打开文件夹),将文件夹复制到虚拟机中的/mnt下,然后在此文件夹下
创建新的Dockerfile,内容如下,然后保存:
FROM ubuntu_docker
MAINTAINER king
ADD HelloWorld/HelloWorld/bin/Debug .
CMD /opt/mono/bin/mono `ls *.exe | head -1`
注意:这个例子依赖于上边所创建的ubuntu_docker镜像,其中的*.exe的路径在Dockerfile的相对路径下,这里的Dockerfile在mnt下,和拷贝过来的文件在同一路径下,而*.exe的相对路径是~\HelloWorld\HelloWorld\bin\Debug
$ cd HelloWorld/HelloWorld/bin/Debug
$ ls *.exe | head -1
HelloWorld.exe
CMD命令将简单地使用mono运行中发现的第一个可执行程序来构建输出,让我们创建这个镜像并运行:
$ docker build -t king_hello .
...
$ docker run king_hello
Hello Dockerfile World
Hello Dockerfile World
已经正常运行了!
WEB应用程序
Docker学习笔记整理的更多相关文章
- docker~学习笔记索引
回到占占推荐博客索引 使用docker也有段时间了,写了不少文章与总结,下面把它整理个目录出来,方便大家去学习与检索! docker~学习笔记索引 docker~linux下的部署和基本命令(2017 ...
- docker学习笔记(3)- 镜像
简介 在docker学习笔记(1)- 架构概述一节中可以看到镜像是docker三大组件之一,可以将Docker镜像类比为虚拟机的模版. 镜像由多个层组成,每层叠加之后从外部看就像一个独立的对象,镜像的 ...
- python学习笔记整理——字典
python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...
- Docker学习笔记 — 配置国内免费registry mirror
Docker学习笔记 — 配置国内免费registry mirror Docker学习笔记 — 配置国内免费registry mirror
- docker学习笔记1 -- 安装和配置
技术资料 docker中文官网:http://www.docker.org.cn/ 中文入门课程:http://www.docker.org.cn/book/docker.html docker学习笔 ...
- Deep Learning(深度学习)学习笔记整理系列之(五)
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
- docker学习资料整理(持续更新中..)
docker最近可以说火得一踏糊涂,跟 51大神在交流技术的时候这个东西会多次被提到,当我们还玩vm+linux/freebsd的时候,人家已经上升到更高层次了,这就是差距,感觉好高大上的样子,技术之 ...
- Docker学习笔记之一,搭建一个JAVA Tomcat运行环境
Docker学习笔记之一,搭建一个JAVA Tomcat运行环境 前言 Docker旨在提供一种应用程序的自动化部署解决方案,在 Linux 系统上迅速创建一个容器(轻量级虚拟机)并部署和运行应用程序 ...
- Deep Learning(深度学习)学习笔记整理系列之(八)
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
随机推荐
- 【转载】Fast Inserts to PostgreSQL with JDBC and COPY FROM
source: http://rostislav-matl.blogspot.com/2011/08/fast-inserts-to-postgresql-with-jdbc.html Thanks ...
- pdo文字水印类,验证码类,缩略图类,logo类
文字水印类 image.class.php <?php /** * webrx.cn qq:7031633 * @author webrx * @copyright copyright (c) ...
- 修改Django的默认打印时间
环境 Django版本:1.10 前言 默认情况下,Django会把日期按照“月份 天数, 年”的格式打印,比如2003年2月4日会打印成“Feb. 4, 2003”,这种格式对于西方人来说很好看,但 ...
- VMware学习笔记(一)
vmware核心产品是vSphere,而vSphere主要包括ESXi和vCenterServer. ESXi不依赖其它操作系统OS,安装在每一台物理机上,ESXi是免费的.在ESXi主机上再安装vS ...
- RSA加密前端JS加密,后端asp.net解密,报异常
RSA加密前端JS加密,后端asp.net解密,报异常 参考引用:http://www.ohdave.com/rsa/的JS加密库 前端JS加密代码: function GetChangeStr() ...
- 《高性能JavaScript》笔记
1. UI Thread 和 UI Queue,中文叫 UI 线程和UI 队列,JavaScript 和 UI 更新共享的进程通常被称为浏览器UI进程. 2. 如果用户企图在任务运行时于页面交互,不 ...
- PHP基本问题
WampServer修改端口及菜单Localhost http://www.wuwenhui.cn/3047.html WAMPServer默认配置更改-web根目录 http://blog.csdn ...
- Oracle 11g AWR和ADDM性能报告
一.自动工作负载库(Automatic Workload Repository,AWR) 自动工作负载库(Automatic Workload Repository,AWR)是在Oracle公司提供的 ...
- 使用VS,获取SQL SERVER 的链接字符串
在VS中→工具→链接到数据库→(选择数据源,这里要链接的是SQL server)Microsoft SQL Server→服务器名字(不知道的可以在登陆SQL server的时候,把服务器名字复制过来 ...
- 第三十三章 metrics(1) - graphite搭建 + whisper存储模式 + 高精度向低精度聚合方式 + 集成StatsD + 集成grafana
组件介绍: carbon:Carbon实际上是一系列守护进程,组成一个Graphite安装的存储后端.这些守护进程用一个名为Twisted的事件驱动网络引擎监听时间序列数据.Twisted框架让Car ...