Docker on FreeBSDに関する悲しいお知らせ
はじめに
動かなくなってしまいましたorz
問題点
コンパイルできていたバージョンは、なぜかjailがエラーを出して動かなくなった。
そもそも、goのバージョンが1.16に上がって、コンパイルできなくなった。
jailエラー
dockerコマンドで、version,pull,ps,imagesなどは動くけど、肝心のrunは以下のように動かない。
code:shell
sudo docker run hello-world
jail: jail_attach: Operation not permitted
jail: /hello: failed
jailのデバッグ方法を教えてください(_O_)
goのバージョンアップでのbuild不能
1.16からGOPATHを使う時に、GO111MODULEが必要になったから?
code:shell
===> Building for docker-freebsd-20150625_3
# WARNING! I don't seem to be running in the Docker container.
# The result of this command might be an incorrect build, and will not be
# officially supported.
#
# Try this instead: make all
#
---> Making bundle: binary (in bundles/1.7.0-dev/binary)
Building: /usr/home/mutoh/work/ports/sysutils/docker-freebsd/old/docker-freebsd/work/docker-582db78/bundles/1.7.0-dev/binary/docker-1.7.0-dev
go: go.mod file not found in current directory or any parent directory; see 'go help modules'
*** Error code 1
Stop.
make: stopped in /usr/home/mutoh/work/ports/sysutils/docker-freebsd/old/docker-freebsd
試しにGO111MODULE=autoを指定してみる。
code:Makefile.patch
diff -u Makefile.orig Makefile
--- Makefile.orig 2021-04-13 12:56:51.513012000 +0900
+++ Makefile 2021-04-13 13:27:36.505816000 +0900
@@ -28,7 +28,7 @@
USE_RC_SUBR= docker
do-build:
- @cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} AUTO_GOPATH=1 DOCKER_GITCOMMIT=${GH_TAGNAME} ./hack/make.sh binary
+ @cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} GO111MODULE=auto AUTO_GOPATH=1 DOCKER_GITCOMMIT=${GH_TAGNAME} ./hack/make.sh binary
do-install:
@${MKDIR} ${STAGEDIR}${PREFIX}/bin
なぜ、-lsqlite3が見つからない?
code:shell
sudo make
===> Building for docker-freebsd-20150625_3
# WARNING! I don't seem to be running in the Docker container.
# The result of this command might be an incorrect build, and will not be
# officially supported.
#
# Try this instead: make all
#
bundles/1.7.0-dev already exists. Removing.
---> Making bundle: binary (in bundles/1.7.0-dev/binary)
Building: /usr/home/mutoh/work/ports/sysutils/docker-freebsd/old/docker-freebsd/work/docker-582db78/bundles/1.7.0-dev/binary/docker-1.7.0-dev
# _/usr/home/mutoh/work/ports/sysutils/docker-freebsd/old/docker-freebsd/work/docker-582db78/docker
/usr/local/go/pkg/tool/freebsd_amd64/link: running clang failed: exit status 1
ld: error: unable to find library -lsqlite3
clang: error: linker command failed with exit code 1 (use -v to see invocation)
*** Error code 2
Stop.
make: stopped in /usr/home/mutoh/work/ports/sysutils/docker-freebsd/old/docker-freebsd