docker和kubertenes

安装docker

启用Hyper-V

打开控制面板 - 程序和功能 - 启用或关闭Windows功能,勾选Hyper-V,然后点击确定即可

安装docker

下载链接

傻瓜安装

error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.40/contai
如果出现这种错误估计是没有下载这个wsl_update_x64.msi

使用docker

docker运行Ubuntu
docker run -i -t ubuntu /bin/bash

-i:表示交互式运行容器,通常与-t一起使用
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用
-d:后台运行,并返回容器ID

在这里插入图片描述
输入命令后,首先会检查本地是否有该镜像,没有的话会从仓库里下载。

exit//退出运行的容器
docker images//查看所有的镜像

在这里插入图片描述
输入上述命令就可以看到刚刚下载运行的Ubuntu镜像

docker ps://可以查看正在运行的容器
docker ps -a://可以查看最近运行的容器

在这里插入图片描述

容器命名

如果自己不指定名称,docker会随机生成一个名称

//--name后面给容器命名
docker run --name my_ubuntu -i -t ubuntu /bin/bash

合法的容器名称只能包含小写,大写,数字,下划线,圆点,横线

容器的命名必须是唯一的

重新启动停止的容器

上面创建了一个容器,并且指定了名称为my_ubuntu,并且已经用exit停止了,重新运行它

//通过名称来启动
docker start my_ubuntu
//通过ID来启动
docker start 427062a5ae9d
//重新启动
docker restart my_ubuntu

使用docker ps就可以看到已经运行的容器了

附着到容器上

上面启动后并没有进入交互式的页面,可以使用attach进入交互页面

//使用名称
docker attach my_ubuntu
//使用ID
docker attach 427062a5ae9d

在这里插入图片描述
运行完上述命令后,就会重新进入交互

创建后台运行的容器
//后台运行加-d,不用-i -t
docker run --name my_ubuntu -d ubuntu /bin/sh -C "while true:do echo hello world; sleep 1; done"

在这里插入图片描述

//查看容器运行的日志
docker logs my_ubuntu

//使用-f选项监控,类似与tail -f
docker logs -f ubuntu

//使用ctrl+c退出日志跟踪
查看容器内的进程
docker top my_ubuntu
在容器内运行程序
//后台创建一个文件
docker exec -d my_ubuntu touch /etc/new_config_file

//进入交互界面,即可看到刚创建的文件
docker exec -i -t my_ubuntu /bin/bash

//找到创建的文件
find ./ -name "new_config*"

在这里插入图片描述

停止容器
docker stop my_ubuntu
docker stop 90d5687bcae3
自动重启容器

如果因为某种错误而导致容器停止运行,–restart可以自动重启,always表示无论docker的退出代码是什么,docker都会重启该容器

//--restart=always
docker run --restart=always --name my_ubuntu /bin/bash
docker inspect
//docker inspect可以查看更多更详细的信息
docker inspect my_ubuntu
删除容器
docker rm my_ubuntu
docker rm 90d5687bcae3

//删除所有的容器
docker rm "docker ps -a -q"
tag标签

一般用于区别同一个仓库的不同镜像,加上:标签名即可

docker run --name my_ubuntu -i -t ubuntu:12.04 /bin/bash
仓库

docker hub有两种类型的仓库:用户仓库和顶层仓库
用户仓库:用户名/仓库名,例如:jam/ubuntu
顶层仓库只包含仓库名

拉取镜像

使用docker run启动一个镜像时,如果该镜像不在本地,docker会从docker hub下载该镜像,如果没有指定标签,就是:latest

使用docker pull拉去镜像

docker pull ubuntu;//默认标签是latest
docker pull ubuntu:16;//指定tag
查找镜像

docker search可以用来查找所有docker hub上公共的可用镜像

docker search puppet

在这里插入图片描述
search会返回很多信息,stars表示用户评价,Official表示是否是官方的,automated表示是否是自动构建的

构建镜像

构建镜像有两种方法:

  • docker commit基于已有的容器生成新的镜像
  • docker build和dockerfile

创建一个docker账号https://hub.docker.com/官网注册

//注册了账号之后就可以用docker login
docker login

在这里插入图片描述

docker commit

基于已有的容器修改后commit

//运行已有的容器
docker run --name my_ubuntu -i -t ubuntu /bin/bash

//安装apache
apt-get install apache2

//退出
exit

//生成镜像,可选参数-m="" --author=""
docker commit my_ubuntu my_ubuntu/apache2

在这里插入图片描述

Dockerfile

创建一个目录,编写dockerfile

docker build -t="仓库名/镜像名:标签名"
//查看容器的构建历史
docker history my_ubuntu
docker history 90d5687bcae3
绑定容器端口
//查看容器的端口
docker ps -l
docker port 90d5687bcae3 80
//往index文件里写一些内容
cd /usr/share/nginx/html
echo "Hi, I am your container" > index.html
//-p端口映射,将容器的80端口映射到主机的8080端口
//nginx -g "daemon off"将以前台的方式启动nginx,作为web服务器
docker run -d -p 127.0.0.1:8080:80 --name my_ubuntu my_ubuntu/apache2 nginx -g "daemon off;"

打开127.0.0.1:8080即可看到内容

镜像推送
//格式一定要是你的docker账号的账号名,不然传不上去
docker push 用户名/镜像名

在这里插入图片描述
进入到docker hub就可以查看到提交的容器
在这里插入图片描述

删除镜像
//删除一个镜像
docker rmi ubuntu

//删除一组镜像
docker rmi ubuntu1 ubuntu2...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值