博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Docker学习笔记整理
阅读量:6402 次
发布时间:2019-06-23

本文共 2516 字,大约阅读时间需要 8 分钟。

  Docker接触有一段时间了,但是对于Docker的使用可以说是一点不会。现在要在Docker上部署基于Angular开发的页面。只能一点点积累查找的资料,顺手整理一下,方便后面的回顾。

其中用到的资料:

1. 

2. 

3. 

4. 

5. 

6. 

7. 

8. 

9. 

10. 

11. 

12. 

13. 

14. 

为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 # 安装wgetRUN 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 - # 卸载wgetRUN 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 # 安装monoRUN 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_dockerMAINTAINER kingADD 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 -1HelloWorld.exe

CMD命令将简单地使用mono运行中发现的第一个可执行程序来构建输出,让我们创建这个镜像并运行:

$ docker build -t king_hello ....$ docker run king_hello Hello Dockerfile World Hello Dockerfile World

  已经正常运行了!

WEB应用程序

 

转载于:https://www.cnblogs.com/xcloudbiz/p/5227755.html

你可能感兴趣的文章
位运算符
查看>>
winform自定义控件
查看>>
C#编码好习惯
查看>>
避其锋芒,侧翼出击。——司马亮创业回忆录(一)
查看>>
scope
查看>>
删除链表中储存给定值的节点
查看>>
vCPU估算的几个基本概念
查看>>
DoraCMS 源码知识点备注
查看>>
一起谈.NET技术,晚绑定场景下对象属性赋值和取值可以不需要PropertyInfo
查看>>
一起谈.NET技术,.Net Framework源代码中的模式之Prototype(原型模式)
查看>>
[shell 命令] find 查找文件
查看>>
windows下启动mysql服务的命令行启动和手动启动方法
查看>>
VTK三维点集轮廓凸包提取
查看>>
【概率论与数理统计】小结9-3 - 区间估计
查看>>
Golang性能调优入门
查看>>
sqlloader外部表
查看>>
golang笔记——数组与切片
查看>>
屏蔽可忽略的js脚本错误
查看>>
散文分享
查看>>
【Vue】vue.js常用指令
查看>>