首先你必须创建Dockerfile:
鸡蛋。 Dockerfile:
FROM golang
WORKDIR /go/src/github.com/habibridho/simple-go
ADD . ./
RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix .
EXPOSE 8888
ENTRYPOINT ./simple-go
构建您的映像并尝试运行它。
$ docker build -t simple-go .
$ docker run -d -p 8888:8888 simple-go
下一步是将图像传输到服务器。您可以使用 Docker 集线器。您可以将图像推送到存储库并从服务器中提取。
--在本地机器上
$ docker tag simple-go habibridho/simple-go
$ docker push habibridho/simple-go
--在服务器上
$ docker pull habibridho/simple-go
您必须注意默认的 docker 存储库可见性是公共的,因此如果您的项目是私有的,您需要从 Docker Hub 网站更改项目的可见性。
您可以在此处找到有关该过程的有用信息:
docker-images
一旦我们在服务器中获得了映像,我们就可以像在本地机器上一样通过创建部署来运行应用程序。
以下是一个部署示例。它会创建一个 ReplicaSet 来调出三个您的应用程序 Pod:
apiVersion: apps/v1
kind: Deployment
metadata:
name: your-deployment
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: your-app
template:
metadata:
labels:
app: your-app
spec:
containers:
- name: your-app
image: your-app:version
ports:
- containerPort: port
在这个例子中:
创建了一个名为 your-deployment 的 Deployment,由 .metadata.name 字段指示。
但是,只要 Pod 模板本身满足规则,更复杂的选择规则也是可能的。
要创建部署,请运行以下命令:
$ kubectl create -f your_deployment_file_name.yaml
您可以在此处找到更多信息:kubernetes-deployment。