Docker 在 FreeBSD 系统上的移植版本:Docker on FreeBSD
jopen
9年前
Docker on FreeBSD 是 Docker 在 FreeBSD 系统上的移植版本。Docker 原本是为 Linux 所开发设计,而最新的 FreeBSD 11-CURRENT 和 10.2 将提供对 Docker 的支持。该系统严重依赖 ZFS、jail 以及 64位的 Linux 兼容层。
安装和使用方法:
# pkg install docker-freebsd ca_root_nss ... New packages to be INSTALLED: docker-freebsd: 06252015 ca_root_nss: 3.19.1_1 bash: 4.3.39_2 indexinfo: 0.2.3 gettext-runtime: 0.19.4 go: 1.4.2,1 sqlite3: 3.8.10.2 readline: 6.3.8 The process will require 155 MiB more space. 26 MiB to be downloaded. ... You will need to create a ZFS dataset on /usr/docker # zfs create -o mountpoint=/usr/docker <zroot>/docker And lastly enable the docker daemon # sysrc -f /etc/rc.conf docker_enable="YES" # service docker start
启动信息:
# service docker onestart Starting docker... # docker version Client version: 1.7.0-dev Client API version: 1.19 Go version (client): go1.4.2 Git commit (client): 582db78 OS/Arch (client): freebsd/amd64 Server version: 1.7.0-dev Server API version: 1.19 Go version (server): go1.4.2 Git commit (server): 582db78 OS/Arch (server): freebsd/amd64 # docker search centos NAME DESCRIPTION STARS OFFICIAL AUTOMATED centos The official build of CentOS. 1122 [OK] ansible/centos7-ansible Ansible on Centos7 45 [OK] ... # docker pull centos latest: Pulling from centos f1b10cd84249: Pull complete c852f6d61e65: Pull complete 7322fbe74aa5: Already exists centos:latest: The image you are pulling has been verified. Important: image verification is a tech preview feature and should not be relied on to provide security. Digest: sha256:57554136c655abb33ecb7bb790b1db0279668d3763c3b81f31bc6c4e60e4a1f3 Status: Downloaded newer image for centos:latest # docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE centos latest 7322fbe74aa5 4 weeks ago 172.2 MB # docker run -t -i centos /bin/bash [root@ /]# uname -a Linux 2.6.32 FreeBSD 11.0-CURRENT #5 r285594: Tue Jul 14 23:30:11 EDT 2015 x86_64 x86_64 x86_64 GNU/Linux
运行状态:
# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 920bc5fbb45c centos "/bin/bash" 9 seconds ago Up 8 seconds jolly_poincare # jls JID IP Address Hostname Path 3 172.17.0.3 /usr/docker/zfs/graph/920bc5fbb45c # zfs list ... zroot/docker 119M 107G 6.02M /usr/docker zroot/docker/03a7a57df9197f242484375c4bc2149248ded5aaafc4feb8e472d6774d495530 8K 107G 112M legacy zroot/docker/03a7a57df9197f242484375c4bc2149248ded5aaafc4feb8e472d6774d495530-init 128K 107G 112M legacy ... # mount ... x220i/docker on /usr/docker (zfs, local, noatime, nfsv4acls) x220i/docker/d03bcd7082d91179f58c8738f598f5af4db00307a47b5db255aefd30790e8bdc on /usr/docker/zfs/graph/d03bcd7082d9 (zfs, local, noatime, nfsv4acls) linprocfs on /usr/docker/zfs/graph/d03bcd7082d9/proc (linprocfs, local) linsysfs on /usr/docker/zfs/graph/d03bcd7082d9/sys (linsysfs, local) devfs on /usr/docker/zfs/graph/d03bcd7082d9/dev (devfs, local, multilabel)
Docker 下的 FreeBSD:
# docker search freebsd NAME DESCRIPTION STARS OFFICIAL AUTOMATED ... lexaguskov/freebsd FreeBSD operating system 0 ... # docker pull lexaguskov/freebsd ... Status: Downloaded newer image for lexaguskov/freebsd:latest # docker run -t -i lexaguskov/freebsd /bin/csh # # df -h Filesystem Size Used Avail Capacity Mounted on zroot/docker/485f9654f69d5e9909344dd823dd0608f3734c433b667e9ec04492cc61ddbcfa 107G 176M 107G 0% /
网络:
# docker run -t -i centos ping -c2 8.8.8.8 WARNING: setsockopt(ICMP_FILTER): Protocol not available WARNING: your kernel is veeery old. No problems. PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. 64 bytes from 8.8.8.8: icmp_seq=1 ttl=56 time=15.0 ms 64 bytes from 8.8.8.8: icmp_seq=2 ttl=56 time=14.1 ms ... # docker run -t -i centos /bin/bash echo "nameserver 8.8.8.8" >> /etc/resolv.conf ... ping sun.com PING sun.com (156.151.59.35) 56(84) bytes of data. 64 bytes from lb-legacy-sun-cms-ucf.oracle.com (156.151.59.35): icmp_seq=1 ttl=244 time=51.5 ms ...