热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

startdockerdaemonlinux

ubuntudocker环境配置https:blog.csdn.netfareast_mzharticledetails88820445代码以及命令行下载gitclonegit

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

 


推荐阅读
author-avatar
可爱爱美女_815
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有