导航

Mac下使用docker配置ubuntu的go开发环境

Posted on 2025-02-08 10:15  蝈蝈俊  阅读(133)  评论(0)    收藏  举报

docker 的安装

https://www.docker.com/ 下载并安装最新版本docker

ubuntu 镜像

https://hub.docker.com/_/ubuntu 选择合适的镜像,我这里选择 ubuntu:22.04

docker pull ubuntu:22.04

查看本地镜像

使用以下命令来查看是否已安装

docker images

运行容器

运行前面下载好的镜像

docker run --privileged=true -it ubuntu:22.04 
  • --privileged是以获取系统权限的形式运行,
  • -it是互动模式,跟本地的系统进行交互,调用的本地的终端

保存容器变更

在未退出来之前,另开一个窗口,看正在运营的容器ID:

docker ps  

CONTAINER ID   IMAGE          COMMAND       CREATED         STATUS         PORTS     NAMES
7d8a66262ccc   ubuntu:22.04   "/bin/bash"   3 minutes ago   Up 3 minutes             tender_liskov  

保存这个容器

% docker commit 7d8a66262ccc ubuntu:u2204go 
  • docker commit :从容器创建一个新的镜像。
    docker commit [选项] <容器ID或容器名> [<仓库名>[:<标签>]]

配置 ubuntu

ubuntu 中可能有些软件没有安装,可以通过下面方式安装

检查已安装的软件

# 在容器内尝试列出已安装的编辑器相关包
apt list --installed | grep -E "nano|vim|vi"

安装软件

# 更新软件包列表
apt update

# 安装 Nano
apt install -y nano

配置ubuntu的go开发环境

共享目录

在Docker->preference中添加目录共享,以便容器内可以访问到主机的目录。

上图这种方式 Apply & restart 后,新加的目录会自动消失,是因为 最前面系统已经默认共享了这个目录的父目录 /Users 。

重新进入环境

docker run --privileged=true -v /Users/fengbang/softwares:/softwares -it ubuntu:u2204go

-v, --volume=[] 给容器挂载存储卷,挂载到容器的某个目录

参考: Docker run 命令参数及使用

安装 go

下载地址: https://go.dev/dl/

删除旧版本go

cd /usr/local/
rm -rf ./go

Download the archive and extract it into /usr/local, creating a Go tree in /usr/local/go

cd /softwares/go

tar -C /usr/local/ -xzf ./go1.23.6.linux-amd64.tar.gz

Add /usr/local/go/bin to the PATH environment variable

nano /root/.bashrc

# 增加
export PATH=$PATH:/usr/local/go/bin

# 确保及时生效
source /root/.bashrc

注意,我们在docker中跑centos,默认是不加载 /etc/profile 的,需要在 /root/.bashrc 这个文件增加环境变量。

Docker之/etc/profile不生效得问题

Verify that you've installed Go by opening a command prompt and typing the following command:

go version

go编译使用

docker run --privileged=true -v /Users/fengbang/mycodes:/home/mycodes -it ubuntu:u2204go