zoukankan      html  css  js  c++  java
  • Docker学习笔记整理

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

    其中用到的资料:

    1. 在docker上运行.NET应用

    2. Docker命令介绍及实例

    3. Nano命令指南

    4. Docker从主机上复制文件的方法

    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的相对路径是~HelloWorldHelloWorldinDebug

    $ 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应用程序

  • 相关阅读:
    java.lang.IllegalArgumentException
    JDBC概述
    IntelliJ IDEA15导入jar包
    mySQL基础
    javascript基础
    css基础
    html笔记
    关于intelliJ idea创建servlet提示cannot resolve symbol‘servlet’的问题
    IntelliJ IDEA新建JAVA WEB项目(转载)
    winform 子报表数据源赋值
  • 原文地址:https://www.cnblogs.com/xcloudbiz/p/5227755.html
Copyright © 2011-2022 走看看