centos7虚拟机搭建简易手册(1)-安装第一台虚拟机
centos7虚拟机搭建简易手册(2)-双网卡设置
Docker教程来源:https://docs.docker.com/
移除原有docker。
#移除原有docker
$ yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
安装yum相关扩展。
# 管理repository及扩展包的工具
$ yum install -y yum-utils
#yum repository管理
$ yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
安装docker。
$ yum install -y docker
启动docker。
#开机启动
$ systemctl enable docker
#启动
$ systemctl start docker
#重启
$ systemctl restart docker
#停止
$ systemctl stop docker
Hello word(docker版)
#如果本地没有hello-world镜像,会从docker仓库进行拉去后运行
$ docker run hello-world
#查看镜像
$ docker images
#或者
$ docker image list
#移除镜像
$ docker rmi 404a1c797320(实际镜像ID)
如果该镜像被容器使用,则会提示如下
此时需要停止相应容器运行
#停止指定容器
$ docker stop 3a4784f6edec(实际容器ID)
#移除指定容器
$ docker rm 3a4784f6edec(实际容器ID)
移除后再执行删除操作即可
#移除镜像
$ docker rmi 404a1c797320(实际镜像ID)
创建app.js,以下内容作为实例。
const http = require('http');
const os = require('os');
console.log("Kubia server starting...");
var handle = function(request, response) {
response.writeHead(200);
response.end("You've hit " + os.hostname() + "\n");
console.info("Hello world.");
};
var www = http.createServer(handle);
www.listen(8080);
创建Dockefile,注意需要和app.js在同一目录下。
#FROM用来定义镜像起始内容,用于构建基础镜像,即该镜像是以node的官方镜像为基础。
FROM node
#将app.js这个文件导出到镜像的根目录下。
ADD app.js /app.js
#镜像被运行时需要执行的命令。
ENTRYPOINT ["node", "app.js"]
在Dockerfile的根目录下构建镜像,注意kubia后面有一个"."。
#基于当前目录下的Dockerfile文件,构建名叫kubia的镜像
$ docker build -t kubia .
这里引用Kubernetes in Action中的图2.2描述构建过程
运行kubia镜像,创建kubia-container容器
#创建kubia-container容器,端口映射为8080,后台运行
$ docker run --name kubia-container -p 8080:8080 -d kubia
#向127.0.0.1:8080发出 GET 请求,服务器返回的内容会在命令行输出
$ curl 127.0.0.1:8080
列出运行中的容器
$ docker ps
$ docker inspect kubia-container
#-i:确保标准输入流保待开放。需要在 shell 中输入命令
#-t:分配一个伪终端(TTY)
$ docker exec -it kubia-container bash
$ exit