LoginSignup
2
2

More than 5 years have passed since last update.

GentooLinux に docker を入れる

Posted at

環境

Windowsで動くVirtualBox上のGentooLinux(systemd使用)

手順概略

  1. app-emulation/docker を emerge する
  2. dockerグループにいつも使うユーザーを追加する
  3. kernel のオプションが諸々必要らしいので kernelを再構築する
  4. 再起動して systemctl start docker
  5. 具合良ければ systemctl enable docker

手順

dockerという名前はいくつかあるので、app-emulationを指定しないと入らない。

$ sudo emerge -av app-emulation/docker

手前の環境だと12個くらいの依存の元何の問題もなく入る。
docker グループにユーザーを追加するといいよ、と後はカーネルオプション諸々を有効にする旨表示されるのでそれに従う。

$ sudo gpasswd -a <user> docker
# カーネルのバージョン確認。手間の環境の場合新しくなっていた。。
$ eselect kernel list
Available kernel symlink targets:
  [1]   linux-4.14.65-gentoo *
$ sudo eselect kernel set 1
$ cd /usr/src/linux
$ sudo make menuconfig
...
$ sudo make
$ sudo mount /boot
$ sudo make modules_install && make install
$ sudo grub-mkconfig -o /boot/grub.cfg
$ subo reboot

で一旦再起動。

$ sudo systemctl start docker

で問題なく起動できたら

$ sudo systemctl enable docker

としておく。

有効にするらしいカーネルのオプションはemerge時に書いてあったけど改めてメモ。
たくさんあるので、menuconfigで探しながら有効にしていきましょう。。。

 *  - NAMESPACES
 *  - NET_NS
 *  - PID_NS
 *  - IPC_NS
 *  - UTS_NS
 *  - CGROUPS
 *  - CGROUP_CPUACCT
 *  - CGROUP_DEVICE
 *  - CGROUP_FREEZER
 *  - CGROUP_SCHED
 *  - CPUSETS
 *  - MEMCG
 *  - KEYS - CONFIG_KEYS: is mandatory
 *  - VETH
 *  - BRIDGE
 *  - BRIDGE_NETFILTER
 *  - NF_NAT_IPV4
 *  - IP_NF_FILTER
 *  - IP_NF_TARGET_MASQUERADE
 *  - NETFILTER_XT_MATCH_ADDRTYPE
 *  - NETFILTER_XT_MATCH_CONNTRACK
 *  - NETFILTER_XT_MATCH_IPVS
 *  - IP_NF_NAT
 *  - NF_NAT
 *  - NF_NAT_NEEDED
 *  - POSIX_MQUEUE
 *  - USER_NS
 *  - SECCOMP
 *  - CGROUP_PIDS
 *  - MEMCG_SWAP - CONFIG_MEMCG_SWAP: is required if you wish to limit swap usage of containers
 *  - MEMCG_SWAP_ENABLED
 *  - BLK_CGROUP - CONFIG_BLK_CGROUP: is optional for container statistics gathering
 *  - BLK_DEV_THROTTLING
 *  - IOSCHED_CFQ - CONFIG_IOSCHED_CFQ: is optional for container statistics gathering
 *  - CFQ_GROUP_IOSCHED
 *  - CGROUP_PERF - CONFIG_CGROUP_PERF: is optional for container statistics gathering
 *  - CGROUP_HUGETLB
 *  - NET_CLS_CGROUP
 *  - CFS_BANDWIDTH - CONFIG_CFS_BANDWIDTH: is optional for container statistics gathering
 *  - FAIR_GROUP_SCHED
 *  - RT_GROUP_SCHED
 *  - IP_VS
 *  - IP_VS_PROTO_TCP
 *  - IP_VS_PROTO_UDP
 *  - IP_VS_NFCT
 *  - IP_VS_RR
 *  - VXLAN
 *  - CRYPTO
 *  - CRYPTO_AEAD
 *  - CRYPTO_GCM
 *  - CRYPTO_SEQIV
 *  - CRYPTO_GHASH
 *  - XFRM_ALGO - CONFIG_XFRM_ALGO: is optional for secure networks
 *  - XFRM_USER - CONFIG_XFRM_USER: is optional for secure networks
 *  - IPVLAN
 *  - MACVLAN
 *  - DUMMY
 *  - CGROUP_NET_PRIO
 *  - BLK_DEV_DM
 *  - DM_THIN_PROVISIONING
 *  - EXT4_FS
 *  - EXT4_FS_POSIX_ACL
 *  - EXT4_FS_SECURITY
 *  - OVERLAY_FS
 *  - EXT4_FS_SECURITY
 *  - EXT4_FS_POSIX_ACL

トラブル

kernelのオプションを有効にしたものの make install を忘れてkernelが更新されてなかったときに出ていたエラー。
解決まで無駄に時間がかかってしまった。。。

level=error msg="[graphdriver] prior storage driver devicemapper failed: devicemapper: Error running deviceCreate (CreatePool) dm_task_run failed"

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2