分类 默认分类 下的文章

接着玩docker

据说有时区问题,可以通过这个更新

sudo cp /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime

启动命令docker run -i -t -p 23:22 ubuntu:14.04.3 /bin/bash似乎也问题,球猫说的,用docker ps -a一看吓一跳。
安装ssh服务

sudo apt-get install openssh-server
sudo /etc/init.d/ssh start
sudo adduser user

如果需要开机自启动打开/etc/rc.local文件,添加/etc/init.d/ssh start
新建的用户不能sudo,可以在/etc/sudoers文件里添加
docker restart ID可以重新启动一个容器
导出容器docker export ID > name.tar
导入容器cat name.tar |docker import - name:ver
保存镜像docker save name:ver > name.tar 或 docker save -o ~/name.tar name:ver
恢复镜像docker load < name.tar 或 docker load -i ~/name.tar

还有一个地方叫hub.docker.com,可以用docker login登录,docker push提交,docker pull获取

待续吧...

玩docker

现在的新名词越来越多,都来体验一下吧,
windows下要体验docker,需要先下载个129M的工具,https://github.com/boot2docker/windows-installer/releases/latest
docker.png

运行Boot2Docker Start,结果出来的是sh脚本,运行不起来,球猫说还是老实用虚拟机+ubuntu吧,听猫话,准没错。
下载了最新版的ubuntu 16.04.3,要求3.1以上内核,当然没问题,不确认可以用uname -a查看,然后安装

wget -qO- https://get.docker.com/ | sh
sudo service docker start

当要以非root用户可以直接运行docker时,需要执行 sudo usermod -aG docker username 命令,然后重新登录

docker run ubuntu:15.10 /bin/echo "Hello world"   

没有15.10的镜像,会自动下载51M,也可以进入镜像的命令行

docker run -i -t ubuntu:15.10 /bin/bash

启动、查看、停止一个容器

docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"
docker ps
docker logs ID 
docker stop ID

运行web应用,哪里来的,又去下载了130多M

docker run -d -P training/webapp python app.py
docker ps
浏览器访问http://ip:32768,显示Hello world!
docker stop frosty_shockley
docker rm frosty_shockley 

球猫教了一条命令,也不太明白

sudo docker search mosquitto

镜像管理
列出本地镜像 docker images
使用镜像 docker run -t -i ubuntu:15.10 /bin/bash
获取镜像 docker pull ubuntu:14.04.3
查找镜像 docker search httpd
获取镜像 docker pull httpd
运行镜像 docker run -d -P httpd
更新镜像 docker commit -m="test" -a="MikuQ" ID miku_q/httpd:v2
创建镜像、设置标签,以后再学,比较晕了

参考资料:
http://www.runoob.com/docker/windows-docker-install.html

安装盲狗MongoDB

下载地址社区版,为啥不是企业版?不知道区别,152M安装文件,https://www.mongodb.com/download-center#community
好久没帖图了,随便帖一副吧
mongo.png
在D盘的temp文件夹下建立一个db文件夹给忙狗用,找到默认的安装文件夹,建立一个start.bat

mongod --dbpath d:\temp\db

就可以启动忙狗了,在浏览器输入http://localhost:27017/,就可以看到

It looks like you are trying to access MongoDB over HTTP on the native driver port.

可以打开命令行文件mongo.exe,运行mongo脚本

1+1
db
db.ballcat.insert({"name":"球猫"})
db.ballcat.find()
db.ballcat.insert({"name":"小撸","name2":"mo10"})
db.ballcat.find()
db.ballcat.find({"name2":"mo10"})

如何用开发语言操作忙狗呢,有官方驱动和第三方驱动,为啥要第三方的呢?https://github.com/samus/mongodb-csharp
新建一个C#的hello项目,引用MongoDB,然后就可以写代码了

//链接字符串
string connectionString = "mongodb://localhost";
//数据库名
string databaseName = "test";
//集合名
string collectionName = "ballcat";
//定义Mongo服务
Mongo mongo = new Mongo(connectionString);
//获取databaseName对应的数据库,不存在则自动创建
MongoDatabase mongoDatabase = mongo.GetDatabase(databaseName) as MongoDatabase;
//获取collectionName对应的集合,不存在则自动创建
MongoCollection<Document> mongoCollection = mongoDatabase.GetCollection<Document>(collectionName) as MongoCollection<Document>;
//链接数据库
mongo.Connect();
try
{
    //定义一个文档对象,存入两个键值对
    Document doc = new Document();
    doc["ID"] = 1;
    doc["name"] = "Hello 大球!";
    //将这个文档对象插入集合
    mongoCollection.Insert(doc);
    //在集合中查找键值对为ID=1的文档对象
    Document docFind = mongoCollection.FindOne(new Document { { "ID", 1 } });
    //输出查找到的文档对象中键“name”对应的值,并输出
    Console.WriteLine(Convert.ToString(docFind["name"]));
}
finally
{
    //关闭链接
    mongo.Disconnect();
}

暂时还不是很习惯忙狗的套路,慢慢熟悉吧,在shell执行db.ballcat.find()发现大球进去了,还有一个ID。

参考文献:
http://www.cnblogs.com/lipan/archive/2011/03/08/1966463.html
http://www.runoob.com/mongodb/mongodb-window-install.html

用nginx辅助asp.net网站

首先要安装nginx,下载地址http://nginx.org/en/download.html,当前稳定版本1.12.1,
解压后用命令行运行start nginx就可以了,访问http://127.0.0.1/,不出意外的话就有欢迎页面了,
一般的asp.net项目都是这样的,外网访问不到的,如果是手机app就尴尬了,
http://localhost:1794/hello/default.aspx
打开nginx.conf,配置

 index  index.html index.htm default.aspx;
 proxy_pass    http://localhost:1794/hello/;
 proxy_redirect default;

然后nginx -s reload访问http://127.0.0.1/就可以了,当然也可以用ip访问,如果开墙的话。

不过似乎还缺些什么,弄个php吧,http://windows.php.net/download,当前版本7.1.9,下载x64非线程安全版,
解压到nginx隔壁,命名php-7.1.9,拷贝php.ini-development重命名php.ini
找到cgi.fix_pathinfo=1,去掉前边的分号,保存,命令行运行php-cgi.exe -b 127.0.0.1:9000。

修改nginx,root可以使用相对路径,fastcgi_param要使用绝对路径D:\www

location ~ \.php$ {
        root           ../../www;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  D:\www$fastcgi_script_name;
        include        fastcgi_params;
}

nginx -s reload后,新建info.php

<?php
phpinfo();
?>

浏览器访问http://127.0.0.1/info.php,可以看到php安装成功了

备注:如果php-cgi启动失败,可以安装Visual C++ Redistributable for Visual Studio 2015之类
https://www.microsoft.com/zh-cn/download/details.aspx?id=48145

参考文献:http://blog.csdn.net/wozaixiaoximen/article/details/50780149

Amaze UI学习笔记(1)Hello World

据说Amaze UI是一个很好的网页框架,学学看吧,官网http://amazeui.org/,
首先下载软件包,目前的版本是2.7.2,961K,解压后2.76M,带有demo,
index.html和其它一些页面,可以感觉一些都能实现一些什么样式,也算是一个学习的目标吧
创建一个helloworld.html,贴入代码看看

<!doctype html>
<html class="no-js">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="description" content="">
  <meta name="keywords" content="">
  <meta name="viewport"
        content="width=device-width, initial-scale=1">
  <title>Hello Amaze UI</title>

  <!-- Set render engine for 360 browser -->
  <meta name="renderer" content="webkit">

  <!-- No Baidu Siteapp-->
  <meta http-equiv="Cache-Control" content="no-siteapp"/>

  <link rel="icon" type="image/png" href="assets/i/favicon.png">

  <!-- Add to homescreen for Chrome on Android -->
  <meta name="mobile-web-app-capable" content="yes">
  <link rel="icon" sizes="192x192" href="assets/i/app-icon72x72@2x.png">

  <!-- Add to homescreen for Safari on iOS -->
  <meta name="apple-mobile-web-app-capable" content="yes">
  <meta name="apple-mobile-web-app-status-bar-style" content="black">
  <meta name="apple-mobile-web-app-title" content="Amaze UI"/>
  <link rel="apple-touch-icon-precomposed" href="assets/i/app-icon72x72@2x.png">

  <!-- Tile icon for Win8 (144x144 + tile color) -->
  <meta name="msapplication-TileImage" content="assets/i/app-icon72x72@2x.png">
  <meta name="msapplication-TileColor" content="#0e90d2">

  <link rel="stylesheet" href="assets/css/amazeui.min.css">
  <link rel="stylesheet" href="assets/css/app.css">
</head>
<body>
<p>
  Hello Amaze UI.
</p>

<!--在这里编写你的代码-->

<!--[if (gte IE 9)|!(IE)]><!-->
<script src="assets/js/jquery.min.js"></script>
<!--<![endif]-->
<!--[if lte IE 8 ]>
<script src="http://libs.baidu.com/jquery/1.11.3/jquery.min.js"></script>
<script src="http://cdn.staticfile.org/modernizr/2.8.3/modernizr.js"></script>
<script src="assets/js/amazeui.ie8polyfill.min.js"></script>
<![endif]-->
<script src="assets/js/amazeui.min.js"></script>
</body>
</html>

好像就看到Hello Amaze UI.几个字母,略有失望,还缺少jquery.min.js,可能是为了减肥?下载了2.2.2版本放到了js文件夹
下面就从布局开始学起吧,有个概念叫做响应式布局,就是一个网站可以兼容多种终端,为啥还有人要禁止呢