打開瀏覽器,即可進(jìn)行Golang程序開發(fā),開發(fā)體驗(yàn)可媲美桌面版的vs code,一致的開發(fā)環(huán)境(基于Ubuntu鏡像)。
安裝docker
-
刪除舊版本
for pkg in docker.io docker-doc docker-compose \ podman-docker containerd runc; \ do sudo apt-get remove $pkg; done -
設(shè)置apt 倉庫
# Add Docker's official GPG key: sudo apt-get update sudo apt-get install ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc # Add the repository to Apt sources: echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] \ https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update -
安裝docker
sudo apt-get install docker-ce docker-ce-cli \ containerd.io docker-buildx-plugin docker-compose-plugin -
驗(yàn)證安裝
sudo docker run hello-world -
將用戶添加到docker組
sudo groupadd docker sudo usermod -aG docker $USER newgrp docker
使用docker創(chuàng)建開發(fā)服務(wù)器
-
創(chuàng)建項(xiàng)目文件夾
mkdir code-server && cd code-server -
創(chuàng)建Dockerfile
FROM codercom/code-server:ubuntu USER root # 修改源 RUN sed -i 's#http://ports.ubuntu.com/ubuntu-ports/#https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/#g' /etc/apt/sources.list RUN apt update -y && apt upgrade -y # 設(shè)置時區(qū) ENV TZ="Asia/Shanghai" RUN DEBIAN_FRONTEND=noninteractive apt-get install -yq tzdata && \ ln -fs /usr/share/zoneinfo/$TZ /etc/localtime && \ dpkg-reconfigure -f noninteractive tzdata USER 1000 ENV USER=coder WORKDIR /home/coder RUN sudo apt install build-essential libssl-dev zlib1g-dev \ libbz2-dev libreadline-dev libsqlite3-dev curl \ libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev -y # 安裝go ENV GO111MODULE=on \ GOPROXY=https://goproxy.cn,direct RUN ARCH=$(dpkg --print-architecture) && echo $ARCH && wget https://go.dev/dl/go1.22.2.linux-$ARCH.tar.gz \ && sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.22.2.linux-$ARCH.tar.gz \ && export PATH=$PATH:/usr/local/go/bin \ && echo 'export PATH=$PATH:/usr/local/go/bin' >> .bashrc \ && rm go1.22.2.linux-$ARCH.tar.gz RUN sudo apt install vim tree -y # 修改提示符顯示最后一個文件夾 RUN sed -i 's/\(PS1.*\)\\w/\1\\W/g' ~/.bashrc -
創(chuàng)建docker-comose.yaml
services: code-server: build: . container_name: code-server user: "${UID}:${GID}" environment: - DOCKER_USER=$USER volumes: - ./.config:/home/coder/.config - ./.local:/home/coder/.local - ~/code:/home/coder/workspace - ~/.ssh:/home/coder/.ssh ports: - 8080:8080 restart: unless-stopped掛載
~/code到容器中的/home/coder/workspace,這里可以根據(jù)自己的要求修改。 -
啟動容器
mkdir .config .local docker compose up -d 瀏覽器訪問本機(jī)的8080端口,即可進(jìn)入web版的vscode,登陸密碼可以在
./.config/code-server/config.yaml文件查看