Docker on FreeBSD

Apache
Google Go
BSD
2015-07-19
红薯

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
...
加载中

评论(0)

暂无评论

暂无资讯

暂无问答

[翻译]FreeBSD中ZFS的 未来

[翻译]FreeBSD中ZFS的 未来 原文地址 FreeBSD ZFS支持的源代码目前直接来自Illumos,带有本地ifdef,以支持FreeBSD的特性, 而Solaris可移植层(SPL)不足。 FreeBSD定期从Illumos中获取更改并...

2018/12/20 14:28
63
0
FreeBSD小技巧

自2004年起接触FeeBSD,记得当时还在上学,3天几乎没有睡觉从零开始到三天后编译内核,设定防火墙,算是入门了。公司后,工作之余兼职公司网管,公司的网关防火墙都使用FreeBSD来做的,稳定性...

2013/06/28 23:43
546
0
Setting up a CVS repository - the FreeBSD way

Setting up a CVS repository - the FreeBSD way Stijn Hoop stijn@win.tue.nl http://www.freebsd.org/doc/en_US.ISO8859-1/articles/cvs-freebsd/ $FreeBSD: doc/en_US.ISO8859-1/articles...

2013/07/28 17:15
11
0
FreeBSD和 PC-BSD唯IPv6测试版

IPv6-only Testing Versions of FreeBSD, PC-BSD FreeBSD和 PC-BSD唯IPv6测试版 posted by Thom Holwerda on Tue 7th Jun 2011 15:31 UTC, submitted by R_T_F_M 发表于:2011年6月7日 北京时...

2011/06/08 09:30
84
0
FreeBSD Release Engineering

FreeBSD Release Engineering Murray Stokely murray@FreeBSD.org http://www.freebsd.org/doc/en_US.ISO8859-1/articles/releng/article.html $FreeBSD: doc/en_US.ISO8859-1/articles/rele...

2013/07/28 17:41
18
0
Free BSD磁盘概念

在开始安装系统以前, 必须决定要使用多大的硬盘空间来安装 FreeBSD, 而且必须决定 partition 应该如何分割. 因为一旦你安装完系统以后, 再想改变一个 partition 的大小就必须把资料备份出来再...

2012/09/04 10:37
165
0
FreeBSD的现状和未来

作者:王波 最近几年,很多Linux/Unix的使用者,都知道有这么一个操作系统:FreeBSD。但是,其中大部分人对这个系统还只是比较简单的了解,还没有机会真正尝试使用、安装、管理它,这样无形中...

2012/09/16 02:34
946
1
FreeBSD 9.0 RC1 发布

“FreeBSD-9.0 发行圈首个RC build 现在可用!amd64, i386, ia64, powerpc, powerpc64, sparc64 等等架构下的ISO镜像在大多数 我们的FreeBSD 镜像站点上都 可用了。在9.0的诸多特性之中我们要...

2011/10/24 10:42
35
0
推荐三个支持Freebsd的vps提供商

FreeBSD是一种自由类Unix操作系统,是由经过BSD、386BSD和4.4BSD发展而来的类Unix的一个重要分支。FreeBSD拥有超过200名活跃开发者和上千名贡献者。现在支持Freebsd的vps提供商较少,主要有以...

2015/04/05 19:45
92
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部