【云起实验室】零基础容器技术实战-ACK与镜像仓库

一、在阿里云容器服务Kubernetes部署并公开应用

部署应用

使用镜像创建

【云起实验室】零基础容器技术实战-ACK与镜像仓库

设置应用名称

【云起实验室】零基础容器技术实战-ACK与镜像仓库

容器配置页签参数说明:

镜像名称:输入registry.cn-hangzhou.aliyuncs.com/acr-toolkit/ack-cube

镜像Tag:单击选择镜像Tag选择镜像的版本。若不指定,默认为最新版。示例:1.0。

资源限制:设置CPU为1 Core,内存为1024 MiB。

所需资源:设置CPU为0.25 Core,内存为512 MiB。

端口:设置容器的端口,输入名称ack-cube,容器端口80

【云起实验室】零基础容器技术实战-ACK与镜像仓库

创建

【云起实验室】零基础容器技术实战-ACK与镜像仓库

创建服务

类型选择负载均衡>公网访问>新建SLB

服务端口设置服务端口为80

容器端口:设置服务端口为80

【云起实验室】零基础容器技术实战-ACK与镜像仓库

创建

【云起实验室】零基础容器技术实战-ACK与镜像仓库

查看应用详情。可以查看应用的容器组、访问方式、事件、容器伸缩、历史版本、日志和触发器等信息。

【云起实验室】零基础容器技术实战-ACK与镜像仓库

测试应用

选择网络>服务

外部端点列的IP地址。

【云起实验室】零基础容器技术实战-ACK与镜像仓库

打开浏览器可体验魔方游戏。

【云起实验室】零基础容器技术实战-ACK与镜像仓库

监控应用

运维管理>Prometheus监控

Prometheus监控页面,无状态应用监控

【云起实验室】零基础容器技术实战-ACK与镜像仓库

 

无状态应用监控页签,选择namespacedefault,选择deployment为ack-cube。可以查看应用的资源使用情况

【云起实验室】零基础容器技术实战-ACK与镜像仓库

无状态应用监控页签

【云起实验室】零基础容器技术实战-ACK与镜像仓库

集群Pod监控页签,可以查看单个Pod的资源使用情况。

【云起实验室】零基础容器技术实战-ACK与镜像仓库

 

 

 

二、Docker镜像管理与阿里云镜像仓库使用

搭建Docker服务

安装Docker的依赖库,添加Docker CE的软件源信息

yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装Docker CE

yum makecache fast &&
yum -y install docker-ce

启动Docker服务。

systemctl start docker

配置DockerHub镜像加速器。

tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://registry.docker-cn.com"]
}
EOF
systemctl restart docker

 

 

Dockerfile编排应用

创建一个基于Golang的HelloWorld代码文件和一个用来构建运行Hello代码所需环境镜像的Dockerfile文件

mkdir -p /tmp/demo && cd /tmp/demo

创建HelloWorld文件,在容器环境中监听HTTP服务输出HelloWorld字符串。

cat > /tmp/demo/main.go << EOF
package main
import (
        "fmt"
        "net/http"
)
func main() {
        http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
                fmt.Fprintf(w, "Hello! World\n")
        })
fmt.Println("start to serve...")
       http.ListenAndServe(":80", nil)
}
EOF

创建Dockerfile文件。

cat > /tmp/demo/Dockerfile << EOF
FROM golang:1.12-alpine
# change current working dir
WORKDIR /go/src/app
# copy main.go into /go/src/app
COPY . .
# go build and install the app
RUN go install -v ./...
# run the app by default
CMD ["app"]
EOF

 

 

本地构建镜像并运行镜像

docker build构建镜像。

docker build . -t demo:v1

【云起实验室】零基础容器技术实战-ACK与镜像仓库

 

docker run命令运行镜像。

docker run -d -p 8000:80 demo:v1

【云起实验室】零基础容器技术实战-ACK与镜像仓库

 

curl访问容器中的HelloWorld服务。

curl localhost:8000

【云起实验室】零基础容器技术实战-ACK与镜像仓库

 

docker rm命令删除容器。

docker rm -f $(docker ps -a | grep "demo:v1" | awk '{print $1}')

【云起实验室】零基础容器技术实战-ACK与镜像仓库

 

 

 

创建阿里镜像仓库

需要开通镜像仓库服务

 

【云起实验室】零基础容器技术实战-ACK与镜像仓库

 

设置Registry登录密码

【云起实验室】零基础容器技术实战-ACK与镜像仓库

 

 

设置阿里云Docker Registry密码

【云起实验室】零基础容器技术实战-ACK与镜像仓库

 

创建命名空间

【云起实验室】零基础容器技术实战-ACK与镜像仓库

 

填写 仓库名称 和 摘要

【云起实验室】零基础容器技术实战-ACK与镜像仓库

 

本地仓库

【云起实验室】零基础容器技术实战-ACK与镜像仓库

 

镜像仓库列表

【云起实验室】零基础容器技术实战-ACK与镜像仓库

 

 

推送镜像到阿里私有仓库并测试

登录到阿里云Docker Registry。
docker login --username="用户名" registry.cn-hangzhou.aliyuncs.com
标记本地镜像,将其归入远程仓库。
docker tag demo:v1 registry.cn-hangzhou.aliyuncs.com/space_test/demo:v1
将本地镜像推送到远程仓库。
docker push registry.cn-hangzhou.aliyuncs.com/space_test/demo:v1
拉取指定版本的远程镜像。
docker pull registry.cn-hangzhou.aliyuncs.com/space_test/demo:v1
运行拉取的远程镜像。
docker run -d -p 8000:80 registry.cn-hangzhou.aliyuncs.com/space_test/demo:v1
访问HelloWorld服务。
curl localhost:8000

【云起实验室】零基础容器技术实战-ACK与镜像仓库

上一篇:如何判断你是个牛×黑客:使用C#加密攻击载荷来绕过杀毒软件


下一篇:“冬季实战营第三期:MySQL数据库进阶实战”场景体验实验小结