阿里云配置docker+code-server实现线上编译器
1. 安装docker
1. 安装Docker
Docker有两个分支版本:Docker CE和Docker EE,即社区版和企业版。本实验使用Docker CE进行操作。
- 安装Docker依赖库,添加Docker的软件源信息
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
yum makecache fast //更新yum缓存
yum -y install docker-ce
docker info //查看安装状态
确认docker安装信息,此时docker安装完成
- 启动Docker服务
systemctl start docker //启动docker服务
systemctl status docker //查看docker状态
systemctl enable docker //设置docker开机启动
此时docker启动成功,正在运行。
2. 配置阿里云镜像仓库(镜像加速)
- 按照操作文档进行配置
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://0o9w7e5n.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
- 配置后重新加载
systemctl daemon-reload //重新加载服务配置文件
systemctl restart docker //重启Docker服务
3. 通过Docker按照Nginx
- 获取最新Nginx镜像
docker search nginx //查看Nginx可用版本
docker pull nginx:latest //拉取镜像
docker images //查看本地镜像
查看docker中Nginx可用镜像
检查Docker安装镜像情况
- 运行Nginx
docker run --name nginx-test -p 8080:80 -d nginx
访问8080端口,出现Nginx服务主页,运行正常。
2. 安装code-server
1. 安装code-server
curl -fOL https://github.com/cdr/code-server/releases/download/v4.4.0/code-server-4.4.0-amd64.rpm
sudo rpm -i code-server-4.4.0-amd64.rpm
sudo systemctl enable --now code-server@dreaife
2. 配置code-server
sudo systemctl enable --now code-server@dreaife //启动coder-server服务
sudo vi ~/.config/code-server/config.yaml //修改配置文件
sudo systemctl restart code-sercer@dreaife //重启code-server
修改后的配置文件
3. 将code-server部署在0.0.0.0
sudo vi ~/.config/code-server/config.yaml //修改配置文件
sudo systemctl restart code-sercer@dreaife //重启code-server
firewall-cmd --zone=public --add-port=7777/tcp --permanent //开放端口
重新修改配置文件
开放7777端口
安装完成后进入code-server界面
3. 配置code-server编译环境
1. 通过VSIX安装code-server的C/C++组件
2. 设置.vscode的允许配置文件
- c_cpp_properties.json文件
- launch.json文件
- tasks.json
3. 测试安装结果
- 编写测试用test.cpp文件
#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
typedef long long ll;
const int N = 1e5+10;
int n,a[N];
string s;
void solve(){
cout<<"hello"<<endl;
}
int main(){
int _;cin>>_;
while(_--) solve();
return 0;
}
- 运行测试
运行成功,结果正确,线上编译器配置完成。