--- services: golang-dev: image: golang-dev:latest # 指定了镜像名 build: context: . dockerfile: Dockerfile container_name: golang-dev restart: unless-stopped networks: - devops # 你之前创建的 devops 网络 ports: - "2080:80" volumes: - ~/Documents/codes/golang:/root/projects # 挂载git工程目录 # mkdir -p ~/dockers/golang-dev/{hostdir,go-mod,.ssh} # touch ~/dockers/golang-dev/.gitconfig - ~/dockers/golang-dev/hostdir:/root/hostdir # 挂载一个通用的主机目录 - ~/dockers/golang-dev/go-mod:/root/go # 挂载一个go pkg 目录 - ~/dockers/sharedata:/root/sharedata # 挂载一个docker之间共享的目录 - ~/dockers/golang-dev/.ssh:/root/.ssh # 允许 SSH 访问 git 仓库 - ~/dockers/golang-dev/.gitconfig:/root/.gitconfig # 共享 Git 配置文件 environment: - TZ=Asia/Shanghai # 设置时区 stdin_open: true tty: true # docker-compose build # 重新构建镜像 # docker-compose up -d # 运行最新的容器 # docker-compose up -d --build # docker image prune -f # 批量删除未被容器使用的旧镜像 # docker image prune -a -f # 删除所有未使用的镜像(包括 dangling 和 unreferenced 镜像) networks: devops: external: true # 你已有的 devops 网络