背景最近在看一个Golang的开源项目,项目中使用到了GORM但只支持了MySQL和PostgreSQL,为了练手尝试添加对SQlite的支持。
1234import ( "gorm.io/driver/sqlite" "gorm.io/gorm")
编写完代码后在本地go run运行很正常,但当使用alpine构建docker镜像时遇到了问题…
问题编译会卡在sqlite3,报错信息为:
1212 73.08 # github.com/mattn/go-sqlite312 73.08 cgo: C compiler "gcc"...
图片来源:timeanddate.com
由于alpine提供的linux环境的镜像特别的小,只有5M左右,因此应用非常广泛,在Docker Hub有大量基于alpine的镜像。举例拿Alpine Linux 和Ubuntu 18.04对比:
12345678910$ docker pull --quiet ubuntu:18.04docker.io/library/ubuntu:18.04$ docker pull --quiet alpinedocker.io/library/alpine:latest$ docker image ls ubuntu:18.04REPOSITOR...
零.背景介绍CentOS的服务器刚到手,执行yum install docker -y安装docker,反手一个docker run就报错:
12Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.Error: open /proc/self/uid_map: no such file or directory
壹.解决办法
卸载服务器上老版本的docker,如果没有安装过执行命令也无妨。
1yum remove docker docker-client docker-client-...