使用docker部署web应用

本文详细介绍Docker的安装过程,提供了一份实用的Dockerfile编写指南,包括路径配置、依赖包获取、编译和运行步骤。同时,分享了如何使用Docker创建镜像、启动和停止容器,以及批量删除容器的技巧。

docker安装

由于我是很久之前装的docker了,已经不记得怎么安装了,安装教程可以参考网上的教程。这里提供一份参考

dockerfile编写

这里的编写需要注意路径问题
按照下面的形式编写dockerfile:

FROM golang:latest

WORKDIR /go/src/apiongo
COPY . /go/src/apiongo
RUN go get && go build
RUN go build -o main .
CMD ["/go/src/apiongo/main"]

解释以下这个文件。
第一行为获取golang的最新镜像文件,因为我们的web应用是使用go语言编写的。
第二行为创建工作文件夹,路径为/go/src/apiongo,这里要注意的是文件夹要创建在gopath路径下。
第三行为复制该应用到这个文件夹下,这就是一个docker容器,到时候我们运行时就是在容器中运行的。
第四行为使用go命令,get依赖包,build所有go文件。为go文件的编译作准备。
第五行为生成main的可执行文件.
第六行为在我们创建的文件夹下执行main可执行文件。

docker创建镜像

在这里插入图片描述
使用以上的命令可以创建名字为apiongo的镜像,可以使用docker images查看:
在这里插入图片描述

docker启动应用

在这里插入图片描述
这里生成为名字为test的容器名字,在9090端口启动了web应用。
在这里插入图片描述
可以看到,应用已经启动了。

docker停止容器

先使用docker ps找到所用正在运行的容器,然后找到想要关闭的容器的名字,这里要使用容器的ID而不能使用容器的名字,然后使用docker stop [container ID]即可关闭容器。

删除所有容器

使用docker rm $(docker ps -a -q)命令可以删除所有容器,便于以后的重新创建。

Docker 是一种容器化技术,可以将应用程序及其相关的依赖、运行环境等打包为一个独立的镜像,然后在不同的主机上进行部署和运行。相比传统的虚拟机方式,Docker 具有更小的体积、更快的启动速度以及更高的效率和灵活性。因此,使用 Docker 部署 web 应用在开发和运维中越来越受欢迎。 使用 Docker 部署 web 应用可以带来以下几个好处: 1. 环境一致性:Docker 可以在不同的主机上复制相同的运行环境,避免了由于环境差异而导致的应用出现问题的情况。开发和测试环境的一致性也更容易保证,提高了开发效率。 2. 部署简单快速:基于 Docker 镜像进行部署可以大大简化部署过程,只需要将镜像投放到目标主机上即可,无需手动安装依赖和配置环境,大大提高了部署的效率。 3. 资源隔离:使用 Docker 可以将不同的应用隔离开,互不干扰,避免了应用间的冲突和资源竞争,提高了应用的稳定性和性能。 4. 弹性扩展:Docker 可以通过创建多个容器实例来实现应用的弹性扩展,根据负载情况动态调整容器数量,实现快速的水平扩展,提高了应用的吞吐能力。 5. 版本控制:通过使用 Docker 镜像来打包应用和依赖,可以轻松地进行版本控制和回滚,方便应对线上问题和需求变更。 总之,使用 Docker 部署 web 应用可以提高开发和部署的效率,增强应用的稳定性和弹性扩展能力,为我们的工作和生活带来很多便利。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hellowangld

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值