Kubernetes 入门实战(一)
Kubernetes 入门实战
目前使用 Docker 基本上有两个选择:Docker Desktop 和 Docker Engine。Desktop目前针对个人是免费的,大企业还是收费的,所以我不会用,也不想用;毕竟,下面一起学的是Engine。
Docker下载
Docker除了在Mac上的M1上兼容不好,其他都可以;我是在debian系统服务器中做的学习整理,大家可以先冲下浪,自我选择下:
首先我们尝试输入命令 docker,会发现
Command 'docker' not found...
下载:
sudo apt install -y docker.io #安装Docker Engine
启动docker服务:
sudo service docker start
当前用户加入docker组(因为操作 Docker 必须要有 root 权限,而直接使用 root 用户不够安全,加入 Docker 用户组是一个比较好的选择,这也是 Docker 官方推荐的做法)
sudo usermod -aG docker ${USER}
检测是否安装成功
docker version

或者输入docker info,查看软硬件的信息。
Docker命令
除了上面的两条命令,主要还有以下命令:
刚刚安装好 Docker 环境,这个时候还没有运行任何容器,所以列表显然是空的

我们可以拉取现有的镜像
docker pull busybox
然后,我们可以看到已拉取的镜像

我们可以运行出我们的docker中的第一行代码:
docker run busybox echo hello world

我们下面从新拉取个ubuntu,并执行一些操作:
docker pull ubuntu:18.04
docker run -it ubuntu:18.04 sh
# 下面的命令都是在容器内执行
cat /etc/os-release
apt update
apt install -y wget redis
redis-server &
在这里多加了一个 -it 参数,这样就会暂时离开当前的 操作系统,进入容器内部(进入了一个全新,啥也没有的ubuntu新系统);sh为Shell;退出的话,直接输入exit,按enter就可以了


ps只会展示正在运行的镜像,而ps -a 能显示停止过的镜像


docker rm ed d6 45 #只删除容器不删除镜像
创建自己的镜像文件 - - Dockerfile
Dockerfile 它就是一个纯文本,里面记录了一系列的构建指令,比如选择基础镜像、拷贝文件、运行脚本等等,而 Docker 顺序执行这个文件里的所有步骤,最后就会创建出一个新的镜像出来。
docker build -f Dockerfile.busybox .
Sending build context to Docker daemon 7.68kB
Step 1/2 : FROM busybox #FROM,所有的 Dockerfile 都要从它开始
---> d38589532d97
Step 2/2 : CMD echo "hello world" #CMD,它指定 docker run 启动容器时默认运行的命令
---> Running in c5a762edd1c8
Removing intermediate container c5a762edd1c8
---> b61882f42db7
Successfully built b61882f42db7
-f 参数指定 Dockerfile 文件名,后面必须跟一个文件路径,叫做“构建上下文”(build’s context),这里只是一个简单的点号,表示当前路径的意思。接下来,Docker 会逐行地读取并执行 Dockerfile 里的指令,依次创建镜像层,再生成完整的镜像。新的镜像暂时还没有名字(用 docker images ),但我们可以直接使用“IMAGE ID”来查看或者运行: