ubuntu docker环境配置 https://blog.csdn.net/fareast_mzh/article/details/88820445

代码以及命令行下载

git clone git://github.com/luksa/kubernetes-in-action

Start the Docker daemon

Start manually

Once Docker is installed, you need to start the Docker daemon. Most Linux distributions use systemctl to start services. If you do not have systemctl, use the service command.

  • systemctl:

    $ sudo systemctl start docker
    
  • service:

    $ sudo service docker start

docker run busybox echo "Hello world"

* kubernetes代码下载

git clone https://github.com/kubernetes/kubernetes

* 创建一个简单的node.js docker应用

app.js

const http = require('http');
const os = require('os');console.log("Kubia server starting...");var handler = function(request, response) {console.log("Received require from " + request.connection.remoteAddress);response.writeHead(200);response.end("You'v hit " + os.hostname() + "\n");
}var www = http.createServer(handler);
www.listen(8080);

* 直接在主机上运行

node app.js > ./local.log 2>&1 &curl http://localhost:8080/

You'v hit chenhuimingdeMacBook-Pro.local

fg %1

Ctrl + C kill process

* Dockerfile

FROM node:7
ADD app.js /app.js
ENTRYPOINT ["node", "app.js"]

L1 使用的是node镜像的tag 7版本

L2 把app.js文件从本地文件夹添加到镜像的根目录, 保持app.js这个文件名

L3 定义了当镜像被运行时需要被执行的命令  node app.js

* 构建容器镜像

$ tree kubia/

kubia/

|-- Dockerfile

|-- Dockerfile~

|-- app.js

`-- local.log

0 directories, 4 files

cd kubia
docker build -t kubia .

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

启动docker服务,  再次执行  docker build -t kubia .

# 以下展示镜像构建的过程。

# 用户告诉Docker需要机遇当前目录 . 构建一个叫kubia的镜像, Docker会在目录中寻找Dockerfile,

# 然后基于其中的指令构建镜像

ending build context to Docker daemon   5.12kB

Step 1/3 : FROM node:7

Get https://registry-1.docker.io/v2/: net/http: TLS handshake timeout

需要Shadowsocks,开启global mode.

* 列出本地存储的镜像

docker images

* 运行容器镜像

docker run --name kubia-container -p 8080:8080 -d kubia

# 基于kubia镜像创建新容器named  kubia-container

# -d --deamon

# 本机上的8080端口会映射到容器内的8080端口(-p 8080:8080)

# 所以可以通过http://localhost:8080访问这个应用

095e11426a7d2b3fe108e3e218a40313318ca0a102963ac6715fafeb733f3bb0

$ curl http://localhost:8080

You'v hit 095e11426a7d

# 主机名现在不是宿主的主机名, 而是container ID

$ hostname

chenhuimingdeMacBook-Pro.local

$ docker ps

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                    NAMES

095e11426a7d        kubia               "node app.js"       2 minutes ago       Up 2 minutes        0.0.0.0:8080->8080/tcp   kubia-container

$ docker inspect kubia-container

# 查看container底层信息的长json

* 在已有容器内部运行shell

$ docker exec -it kubia-container bash

root@095e11426a7d:/# cat app.js
const http = require('http');
const os = require('os');console.log("Kubia server starting...");var handler = function(request, response) {console.log("Received require from " + request.connection.remoteAddress);response.writeHead(200);response.end("You'v hhit " + os.hostname() + "\n");
}var www = http.createServer(handler);
www.listen(8080);
root@095e11426a7d:/# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.2  1.2 614432 26340 ?        Ssl  06:35   0:00 node app.js
root        28  0.4  0.1  20244  3232 pts/0    Ss   06:42   0:00 bash
root        34  0.0  0.1  17500  2064 pts/0    R+   06:42   0:00 ps aux

容器内的进程仍然运行在主机操作系统上 (Linux上可以查看,Mac/Windows需要登录到Docker守护进程的vm中查看)

sudo ps aux | grep app.js

Password:

Mch              14789   0.0  0.0  4277236    796 s002  S+    2:46PM   0:00.00 grep app.js

* 停止和删除容器

$ docker stop kubia-container

$ docker rm kubia-container

start docker daemon linux相关推荐

  1. Docker源码分析(六):Docker Daemon网络

    http://www.infoq.com/cn/articles/docker-source-code-analysis-part6 1. 前言 Docker作为一个开源的轻量级虚拟化容器引擎技术,已 ...

  2. Docker源码分析(四):Docker Daemon之NewDaemon实现

    http://www.infoq.com/cn/articles/docker-source-code-analysis-part4 1. 前言 Docker的生态系统日趋完善,开发者群体也在日趋庞大 ...

  3. Docker源码分析(三):Docker Daemon启动

    http://www.infoq.com/cn/articles/docker-source-code-analysis-part3 1 前言 Docker诞生以来,便引领了轻量级虚拟化容器领域的技术 ...

  4. 使用 Docker 在 Linux 上托管 ASP.NET Core 应用程序

    说在前面 在阅读本文之前,您必须对 Docker 的中涉及的基本概念以及常见命令有一定了解,本文侧重实战,不会对相关概念详述. 同时请确保您本地开发机器已完成如下安装: Docker 18.06 或更 ...

  5. Docker在linux下的安装

    Table of Contents Ubuntu Docker 安装 卸载旧版本 使用 Docker 仓库进行安装 设置仓库 安装 Docker Engine-Community 使用 Shell 脚 ...

  6. did not detect an --insecure-registry argument on the Docker daemon解决方法

    问题描述: 启动Openshift(openshift-origin-server-v3.11.0-0cbc58b-linux-64bit)时,报错信息如下所示: [root@zeppelin ope ...

  7. 一、Docker:Linux/Windows在线安装Docker与命令大全总结

    Docker是一种基于Linux的开源的应用容器引擎,它能够实现一个隔离的.安全的.独立的容器环境,在这个容器中可以安装各种产品,例如MySQL.Nginx.Python.Redis等,并且能够实现秒 ...

  8. 用docker在linux上安装qq和微信

    用docker在linux上安装qq和微信 安装docker 查看docker镜像 重新启动docker服务 docker换源 查看docker当前运行状态 pull微信QQ镜像 创建脚本 qq单独脚 ...

  9. docker daemon调试

    看到这篇关于docker daemon调试的官方文档,觉得对从事docker的同学很有帮助.于是捡起丢了好几年的大学英语翻译,以便中文的同学方便.如有不准确的地方请不吝指出. 原版英文地址:https ...

最新文章

  1. api 定位 微信小程序 精度_微信小程序城市定位(借助百度地图API判断城市)
  2. 福利派送!6 月份赠书活动开始啦!
  3. 两个具有相同的名称在CLASSPATH中的类
  4. python 知识点总结
  5. 使用ABAP和JavaScript代码生成PDF文件的几种方式
  6. 编写一个汇编语言程序,将字符串Hello World中的全部小写字母转换为大写字母,并存放回原地址处。
  7. Java 编译,运行错误之 java.lang.UnsupportedClassVersionError: Bad version n umber in .class file
  8. 删除文件批处理delete file.bat
  9. java适配器模式 场景_详解Java适配器模式
  10. JVM HotSpot 可达性分析算法实现细节
  11. 35岁逃离北上广,40岁失业送外卖,中年人的“体面”在于投资自己
  12. 姿态估计1-02:FSA-Net(头部姿态估算)-源码训练测试-报错解决
  13. 读《Jonathan von Neumann and EDVAC》
  14. 研究生毕业后,再重新读个硕士
  15. 百度地图申请KEY,定位和获取周边热点
  16. 实时音视频技术(WebRTC/voip/Linphone/P2P)
  17. Linux报错-ssh_exchange_identi...
  18. ICCV 2021 | 美团“LargeFineFoodAI“研讨会开幕在即,互动有奖
  19. 【HTML】HTLM网页设计----我的家乡网页设计,根据不同家乡更换名称,图片
  20. 量化投资学习-19:追涨杀跌,一念地*狱;高抛低吸,一念天*堂

热门文章

  1. WM Splitter 2.2.1409.zip
  2. 第二次ScrumMeeting
  3. C2000控制器的PWM互补驱动信号配置及连接说明
  4. php采集(php小偷)程序设计教程
  5. 【资料合集】2018 云+技术沙龙盘点回顾
  6. 华农c语言作业,90%的人所不知道的华农之挂科篇
  7. C/C++编程学习 - 第15周 ③ 买房子
  8. html5 boilerplate 教程,HTML5 Boilerplate
  9. 6.824: Distributed Systems Spring 2020
  10. 提取斗鱼直播源的图文教程