我对 kubernetes 非常陌生,希望您就以下问题提供帮助。
我已经使用docker pull php在本地拉取 httpd。
如何在本地修改此图像?
好的,我将从基础知识开始:正如之前的评论和答案中所述,您无法修改来自Docker Hub 上的官方 PHP 镜像的镜像。
但是,在创建自己的图像时,您有几个选择:
app
文件夹包含您的应用程序)FROM php:7.1.9-apache
COPY app /var/www/html
EXPOSE 80
然后,您只需docker build -t my-php-app .
在本地运行它即可docker run -p <some-port>:80 my-php-app
。
这是创建新映像的最简单方法,在这里您可以找到一些很好的文档。
docker commit
。但是,第二种方法不允许您对映像创建过程进行源控制(就像使用 Dockerfile 那样)。
创建映像后,为了将其部署到另一个节点(除了用于创建它的节点),您需要将映像推送到映像存储库(Docker Hub 或其他一些私有映像注册表 - AWS、GCP)和 Azure 都有私有映像注册表)。使用 Docker CLI 的默认选项是 Docker Hub。在这里您可以找到有关标记图像并将其推送到 Docker Hub 的教程
现在您已将映像存储在 Docker Hub(或其他私有映像注册表)上,您就可以将其部署到 Kubernetes 集群上了。
您可以以与使用 Docker 运行它的方式非常相似的方式运行它:
kubectl run --image=<docker-hub-username>/<your-image> your-app-name --port=<port inside container>
然后,为了从集群外部访问它,您需要公开将创建服务的部署(现在取决于您的集群所在的位置 - 云/本地,您可以从云提供商处获取公共 IP 或使用节点端口):
kubectl expose deployment your-app-name --port=80 --name=your-app-service
下一步是为您的部署和服务创建 YAML 文件。
希望这可以帮助!
归档时间: |
|
查看次数: |
1471 次 |
最近记录: |