Docker部署web端vscode

准备纯净的centos7云服务器

由于疫情的原因,阿里云为大学生准备了免费的ECS云服务器,我在寒假时就领取了,而且在服创比赛中将我们的网页部署上去了,当时使用的nginx+wsgi+flask。还记得那时安装nginx时非常费劲,因为yum里没有。后来即使部署成功了,但重启了一次服务,之后就经常挂掉,至今没找到解决方案。今天将我的服务器重置了一下,告别那个项目了。服务器重置的办法是:先在控制台停机,然后找到配置里有个更新系统盘,就好了。现在centos7纯净了,比重装虚拟机快多了!

在服务器端安装docker

安装docker有个dockerfile可以一条命令就安装成功,

curl -sSL https://get.daocloud.io/docker | sh

但是我失败了,所以,还是用原始的办法。
1.

yum install -y yum-utils device-mapper-persistent-data lvm
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
yum install docker-ce
  1. 启动docker守护进程
systemctl start docker.service
  1. 查看docker服务状态
systemctl status docker.service

拉取镜像并运行

  • 建立项目目录
mkdir -p /home/coder/project
  • 开始docker登场
docker run -it -p 80:8080 --name code -v "/home/coder/project:/home/coder/project" codercom/code-server:latest

这里会比较耗时,成功后,会提示信息(info)注意到密码被放在了 ~/.config/code-server/config.yaml这个文件里了,其实是在容器里。

  • 寻找密码
    另外再开一个终端
docker ps -a # 查看container id 
docker exec -it [container id] /bin/bash # 开启交互式container
ls -a # 注意要加-a ,否则看不到隐藏文件
vim  ~/.config/code-server/config.yaml # 记录下密码

使用web端vscode

在浏览器地址栏输入服务器公网ip
在这里插入图片描述
输入密码就可以进入vscode了。
在这里插入图片描述

遇到的问题

  1. 如果向上面那样直接使用docker run -it …,那么运行成功后,如果这个交互式窗口关掉或者ssh自动断掉以后,那么这个容器就退出了,所以网页是访问不到的。
    解决办法:
docker ps -a # 查看container id
docker start [container id] # 再次开启container

这样即使断开ssh连接,container依然运行
2. 发现密码太长了,改成自己的密码吧。那个密码文件改过之后不管用,不知道应该怎么改。而且发现,container建立好以后,密码就不变了。
3. 删容器之前必须先停掉它

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值