2016-11-19

Docker Swarm


Docker Swarm

What's New in Docker 1.12
Overview of new features
  • Orchestration
    • Swarm mode
    • Docker services
    • Secure by default
    • Networking
  • Live Restore
  • Container Healthchecks
  • Plugin Improvements
    http://forum.slitaz.org/topic/slitaz-x86_64#post-43393

Swarm mode overview
https://docs.docker.com/engine/swarm/
Docker Engine 1.12 includes swarm mode for natively managing a cluster of Docker Engines called a swarm. Use the Docker CLI to create a swarm, deploy application services to a swarm, and manage swarm behavior.

1. Setup docker engine (docker)
root@slitaz:~# docker-machine create -d virtualbox default


root@slitaz:~# docker-machine env default
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.99.100:2376"
export DOCKER_CERT_PATH="/root/.docker/machine/machines/default"
export DOCKER_MACHINE_NAME="default"
# Run this command to configure your shell:
# eval $(docker-machine env default)

root@slitaz:~# eval $(docker-machine env default)

root@slitaz:~# docker-machine ls
NAME    ACTIVE   DRIVER       STATE     URL                        SWARM   DOCKER    ERRORS
default   *      virtualbox   Running   tcp://192.168.99.100:2376          v1.12.3   

root@slitaz:~# docker-machine create -d virtualbox worker2
[..]

root@slitaz:~# docker-machine create -d virtualbox worker3
[..]

root@slitaz:~# docker-machine ls
NAME     ACTIVE  DRIVER       STATE     URL                       SWARM   DOCKER    ERRORS
default   *      virtualbox   Running   tcp://192.168.99.100:2376         v1.12.3   
worker2   -      virtualbox   Running   tcp://192.168.99.101:2376         v1.12.3   
worker3   -      virtualbox   Running   tcp://192.168.99.102:2376         v1.12.3   
root@slitaz:~#


2. Create a swarm
Manager / Leader : slitaz
tux@slitaz:~$ docker swarm init --advertise-addr 192.168.1.30:2377
Swarm initialized: current node (7k82hqkla3pfx2l5n1mg86nqz) is now a manager.


To add a worker to this swarm, run the following command:

docker swarm join \
--token SWMTKN-1-0j1kwrl6tx3zujd1b5unnu6kxn3sn1zylgkueq4e10t4w8mxzc-8fzj4535sg0lttajyuw431rhq \
192.168.1.30:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

tux@slitaz:~$ docker node ls
ID                          HOSTNAME  STATUS  AVAILABILITY  MANAGER STATUS
7k82hqkla3pfx2l5n1mg86nqz *  slitaz   Ready   Active        Leader

tux@slitaz:~$ docker info | grep -A16 Swarm
Swarm: active
NodeID: 7k82hqkla3pfx2l5n1mg86nqz
Is Manager: true
ClusterID: dfg1s9cfwoi0ep88d36c44c2s
Managers: 1
Nodes: 1
Orchestration:
Task History Retention Limit: 5
Raft:
Snapshot Interval: 10000
Heartbeat Tick: 1
Election Tick: 3
Dispatcher:
Heartbeat Period: 5 seconds
CA Configuration:
Expiry Duration: 3 months
Node Address: 192.168.1.30
tux@slitaz:~$

Add nodes to the swarm
node : worker2
tux@slitaz:~$ docker-machine ssh worker2

docker@worker2:~$ docker swarm join \
>--token SWMTKN-1-0j1kwrl6tx3zujd1b5unnu6kxn3sn1zylgkueq4e10t4w8mxzc-8fzj4535sg0lttajyuw431rhq \
> 192.168.1.30:2377
This node joined a swarm as a worker.

docker@worker2:~$ docker info | grep -E 'Swarm|Node|Name|Manager|provider'
Swarm: active
NodeID: 6l6q31l3ojjanmbrkdsaydcd3
Is Manager: false
Node Address: 10.0.2.15
Name: worker2
provider=virtualbox

node : worker3
tux@slitaz:~$ docker-machine ssh worker3

docker@worker3:~$ docker swarm join \
> --token SWMTKN-1-0j1kwrl6tx3zujd1b5unnu6kxn3sn1zylgkueq4e10t4w8mxzc-8fzj4535sg0lttajyuw431rhq \
> 192.168.1.30:2377
This node joined a swarm as a worker.

docker@worker3:~$ docker info | grep -E 'Swarm|Node|Name|Manager|provider'
Swarm: active
NodeID: d9acvt55txmtru7kx4c68vj4k
Is Manager: false
Node Address: 10.0.2.15
Name: worker3
provider=virtualbox

node : default
tux@slitaz:~$ docker-machine ssh default

docker@default:~$ docker swarm join \
> --token SWMTKN-1-0j1kwrl6tx3zujd1b5unnu6kxn3sn1zylgkueq4e10t4w8mxzc-8fzj4535sg0lttajyuw431rhq \
> 192.168.1.30:2377
This node joined a swarm as a worker.

docker@default:~$ docker info | grep -E 'Swarm|Node|Name|Manager|provider'
Swarm: active
NodeID: 5f0tcycycbvld9k9o2lw7zkr3
Is Manager: false
Node Address: 10.0.2.15
Name: default
provider=virtualbox


3. Four networked host machines
tux@slitaz:~$ docker node ls
ID                           HOSTNAME  STATUS  AVAILABILITY  MANAGER STATUS
5f0tcycycbvld9k9o2lw7zkr3    default   Ready   Active       
6l6q31l3ojjanmbrkdsaydcd3    worker2   Ready   Active 
7k82hqkla3pfx2l5n1mg86nqz *  slitaz    Ready   Active        Leader
d9acvt55txmtru7kx4c68vj4k    worker3   Ready   Active           
tux@slitaz:~$

4. Deploy a service to the swarm
tux@slitaz:~$ docker service create --replicas 1 --name helloworld slitaz/slitaz-base ping docker.com
cajm42r93yb27tft0e6c7qxpw
The docker service create command creates the service.
  • The --name flag names the service helloworld.
  • The --replicas flag specifies the desired state of 1 running instance.
  • The arguments slitaz/slitaz-base ping docker.com define the service as
    an SliTaz Linux container that executes the command ping docker.com.
tux@slitaz:~$ docker service ls ID NAME REPLICAS IMAGE COMMAND cajm42r93yb2 helloworld 1/1 slitaz/slitaz-base ping docker.com tux@slitaz:~$ docker service ps helloworld ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR 002tslyqae2iapb6g56fqd7ax helloworld.1 slitaz/slitaz-base slitaz Running Running 47 seconds ago tux@slitaz:~$ docker service inspect --pretty helloworld ID: cajm42r93yb27tft0e6c7qxpw Name: helloworld Mode: Replicated Replicas: 1 Placement: UpdateConfig: Parallelism: 1 On failure: pause ContainerSpec: Image: slitaz/slitaz-base Args: ping docker.com Resources: tux@slitaz:~$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 871129d798d0 slitaz/slitaz-base:latest "ping docker.com" About a minute ago Up About a minute helloworld.1.002tslyqae2iapb6g56fqd7ax tux@slitaz:~$


5. Scale the service in the swarm
tux@slitaz:~$ docker service scale helloworld=6
helloworld scaled to 6

tux@slitaz:~$ docker service ls
ID            NAME        REPLICAS  IMAGE               COMMAND
cajm42r93yb2  helloworld  6/6       slitaz/slitaz-base  ping docker.com

tux@slitaz:~$ docker service ps helloworld
ID                         NAME          IMAGE               NODE   DESIRED STATE  CURRENT STATE           ERROR
002tslyqae2iapb6g56fqd7ax  helloworld.1  slitaz/slitaz-base  slitaz   Running      Running 3 minutes  ago   
58j491vemqivnwrqaz81pq9nb  helloworld.2  slitaz/slitaz-base  worker2  Running      Running 20 seconds ago  
3t58mrccan0nflvoar6k3ffaq  helloworld.3  slitaz/slitaz-base  default  Running      Running 21 seconds ago  
e54f675l6ur7lc2k4xswltt98  helloworld.4  slitaz/slitaz-base  worker3  Running      Running 21 seconds ago  
dydeu3rwuttjrc6rh8ke3d1hf  helloworld.5  slitaz/slitaz-base  worker3  Running      Running 21 seconds ago  
e8m5wdmesa16pwtme10t1lrju  helloworld.6  slitaz/slitaz-base  slitaz   Running      Running 24 seconds ago  

tux@slitaz:~$ docker ps
CONTAINER ID        IMAGE                       COMMAND             CREATED             STATUS           PORTS                 NAMES
ca20de8a3bca        slitaz/slitaz-base:latest   "ping docker.com"   37 seconds ago      Up 35 seconds                          helloworld.6.e8m5wdmesa16pwtme10t1lrju
871129d798d0        slitaz/slitaz-base:latest   "ping docker.com"   3 minutes ago       Up 3 minutes                           helloworld.1.002tslyqae2iapb6g56fqd7ax
tux@slitaz:~$


6. Node Failure
tux@slitaz:~$ docker-machine ssh worker2

docker@worker2:~$ docker swarm leave
Node left the swarm.

tux@slitaz:~$ docker node ls
ID                           HOSTNAME    STATUS  AVAILABILITY  MANAGER STATUS
5f0tcycycbvld9k9o2lw7zkr3    default     Ready   Active       
6l6q31l3ojjanmbrkdsaydcd3    worker2    Down   Active  
7k82hqkla3pfx2l5n1mg86nqz *  slitaz      Ready   Active        Leader
d9acvt55txmtru7kx4c68vj4k    worker3     Ready   Active       
tux@slitaz:~$

tux@slitaz:~$ docker service ps helloworld
ID                         NAME              IMAGE               NODE     DESIRED STATE  CURRENT STATE       ERROR
002tslyqae2iapb6g56fqd7ax  helloworld.1      slitaz/slitaz-base  slitaz   Running        Running 26 minutes ago  
106h3vekgktnm2qhklmh7fu3a  helloworld.2      slitaz/slitaz-base  default  Running        Running 31 seconds ago  
58j491vemqivnwrqaz81pq9nb  \_ helloworld.2   slitaz/slitaz-base  worker2 Shutdown      Running 23 minutes ago  
3t58mrccan0nflvoar6k3ffaq  helloworld.3      slitaz/slitaz-base  default  Running        Running 23 minutes ago  
e54f675l6ur7lc2k4xswltt98  helloworld.4      slitaz/slitaz-base  worker3  Running        Running 23 minutes ago  
dydeu3rwuttjrc6rh8ke3d1hf  helloworld.5      slitaz/slitaz-base  worker3  Running        Running 23 minutes ago  
e8m5wdmesa16pwtme10t1lrju  helloworld.6      slitaz/slitaz-base  slitaz   Running        Running 23 minutes ago  

tux@slitaz:~$ docker service ls
ID            NAME        REPLICAS  IMAGE               COMMAND
cajm42r93yb2  helloworld  6/6       slitaz/slitaz-base  ping docker.com


7. Update the service in the swarm
tux@slitaz:~$ docker service update --replicas 10 helloworld
helloworld

tux@slitaz:~$ docker service ls
ID            NAME        REPLICAS  IMAGE               COMMAND
cajm42r93yb2  helloworld  10/10     slitaz/slitaz-base  ping docker.com

tux@slitaz:~$ docker service ps helloworld
ID                         NAME              IMAGE               NODE     DESIRED STATE  CURRENT STATE       ERROR
002tslyqae2iapb6g56fqd7ax  helloworld.1      slitaz/slitaz-base  slitaz   Running        Running 31 minutes ago  
106h3vekgktnm2qhklmh7fu3a  helloworld.2      slitaz/slitaz-base  default  Running        Running 5  minutes ago   
58j491vemqivnwrqaz81pq9nb  \_ helloworld.2   slitaz/slitaz-base  worker2 Shutdown      Running 28 minutes ago  
3t58mrccan0nflvoar6k3ffaq  helloworld.3      slitaz/slitaz-base  default  Running        Running 28 minutes ago  
e54f675l6ur7lc2k4xswltt98  helloworld.4      slitaz/slitaz-base  worker3  Running        Running 28 minutes ago  
dydeu3rwuttjrc6rh8ke3d1hf  helloworld.5      slitaz/slitaz-base  worker3  Running        Running 28 minutes ago  
e8m5wdmesa16pwtme10t1lrju  helloworld.6      slitaz/slitaz-base  slitaz   Running        Running 28 minutes ago  
8xwx4qqtuelrw6ab1uk6epgoz  helloworld.7      slitaz/slitaz-base  worker3  Running        Running 31 seconds ago  
dzd1fbsvfphkk9z1uik0y87l9  helloworld.8      slitaz/slitaz-base  default  Running        Running 31 seconds ago  
0x5gk6gaggltd25uadol6sf8l  helloworld.9      slitaz/slitaz-base  slitaz   Running        Running 31 seconds ago  
18hngsz3uuzsg7pwe6tyf6jnl  helloworld.10     slitaz/slitaz-base  worker3  Running        Running 30 seconds ago  

tux@slitaz:~$ docker ps
CONTAINER ID        IMAGE                       COMMAND             CREATED             STATUS          PORTS                    NAMES
c1d6ccc0fc66        slitaz/slitaz-base:latest   "ping docker.com"   50 seconds ago      Up 48 seconds                            helloworld.9.0x5gk6gaggltd25uadol6sf8l
98021375dad6        manomarks/visualizer        "npm start"         18 minutes ago      Up 18 minutes   0.0.0.0:8080->8080/tcp   nostalgic_turing
ca20de8a3bca        slitaz/slitaz-base:latest   "ping docker.com"   29 minutes ago      Up 29 minutes                            helloworld.6.e8m5wdmesa16pwtme10t1lrju
871129d798d0        slitaz/slitaz-base:latest   "ping docker.com"   32 minutes ago      Up 32 minutes                            helloworld.1.002tslyqae2iapb6g56fqd7ax
tux@slitaz:~$


8. Delete the service running on the swarm
tux@slitaz:~$ docker service rm helloworld
helloworld

tux@slitaz:~$ docker service ps helloworld
Error: No such service: helloworld


Ref:
swarm mode tutorial
https://docs.docker.com/engine/swarm/swarm-tutorial/




2016-11-17

2016-11-11

Docker-Tag


Docker-Tag


1.
slitaz/slitaz-base
https://hub.docker.com/r/slitaz/slitaz-base/tags/

Tag Name        Compressed Size     Last Updated
2.19            4 MB                3 hours ago
latest          4 MB                3 hours ago
2.13            4 MB                a month ago


2.
tux@slitaz:~$ docker run -it slitaz/slitaz-base:2.13
Unable to find image 'slitaz/slitaz-base:2.13' locally
2.13: Pulling from slitaz/slitaz-base
d1d4bb9c1108: Pull complete
a3ed95caeb02: Pull complete
Digest: sha256:e348a413422a7edd5057ffeeb6dc230fb49c913fee87aa41f1eabed9b3d8688d
Status: Downloaded newer image for slitaz/slitaz-base:2.13

root@09ae98ea7ee0:/# tazpkg -l

List of all installed packages
================================================================================
busybox                 1.21.1            base-system
dialog                  1.1-20110707      base-system
dropbear                2013.60           security
gcc-lib-base            4.6.3             development
gettext-base            0.18.3            base-system
glibc-base              2.13              base-system
nano                    2.2.6             utilities
ncurses                 5.9               base-system
ncurses-common          5.9               base-system
ncursesw                5.9               base-system
retawq                  0.2.6c            network
slitaz-base-files       5.4.2             base-system
slitaz-boot-scripts     5.3.3             base-system
tazpkg                  5.1               base-system
util-linux-blkid        2.21.1            base-system
util-linux-uuid         2.21.1            base-system
ytree                   1.97              utilities
zlib                    1.2.8             base-system
================================================================================
18 packages installed.

root@09ae98ea7ee0:/# /lib64/libc.so.6
GNU C Library stable release version 2.13, by Roland McGrath et al.
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 4.6.3.
Compiled on a Linux 3.2.14 system on 2013-12-28.

Available extensions:
crypt add-on version 2.1 by Michael Glad and others
GNU Libidn by Simon Josefsson
Native POSIX Threads Library by Ulrich Drepper et al
BIND-8.2.3-T5B
libc ABIs: UNIQUE IFUNC
For bug reporting instructions, please see:
http://www.gnu.org/software/libc/bugs.html

root@09ae98ea7ee0:/# exit
tux@slitaz:~$


3.
tux@slitaz:~$ docker run -it slitaz/slitaz-base:2.19
Unable to find image 'slitaz/slitaz-base:2.19' locally
2.19: Pulling from slitaz/slitaz-base
986f76552751: Pull complete
Digest: sha256:da483e839a6ab53e68c48dab8449b1fb6ad2f6167b5c894fdf3074bca1cca774
Status: Downloaded newer image for slitaz/slitaz-base:2.19

root@2b3c5287b346:/# /lib64/libc.so.6
GNU C Library (GNU libc) stable release version 2.19, by Roland McGrath et al.
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 4.9.2.
Compiled on a Linux 3.16.36 system on 2016-09-08.

Available extensions:
crypt add-on version 2.1 by Michael Glad and others
GNU Libidn by Simon Josefsson
Native POSIX Threads Library by Ulrich Drepper et al
BIND-8.2.3-T5B
libc ABIs: UNIQUE IFUNC
For bug reporting instructions, please see:
http://www.gnu.org/software/libc/bugs.html

root@2b3c5287b346:/# tazpkg -l

List of all installed packages
================================================================================
busybox                            1.23.2            base-system
gettext-base                       0.19.4            base-system
glibc-base                         2.19              base-system
ncurses-common                     5.9               base-system
slitaz-base-files                  309               base-system
tazpkg                             5.3.3             base-system
================================================================================
6 packages installed.

4.
root@2b3c5287b346:/# exit
tux@slitaz:~$ docker images
REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
slitaz/slitaz-base   2.19                50236ce3c843        3 hours ago         7.789 MB
slitaz/slitaz-base   latest              50236ce3c843        3 hours ago         7.789 MB
slitaz/slitaz-base   2.13                88ade07d3a4d        19 months ago       8.778 MB
tux@slitaz:~$


2016-11-05

alpine - musl libc - toolchain


alpine
By Docker Official Image

docker pull alpine
https://hub.docker.com/r/library/alpine/


A minimal Docker image based on Alpine Linux with a complete package index and only 5 MB in size!
[..]

What is Alpine Linux?
Alpine Linux is a Linux distribution built around musl libc and BusyBox. The image is only 5 MB in size and has access to a  package repository that is much more complete than other BusyBox based images. This makes Alpine Linux a great image base for utilities and even production applications. Read more about Alpine Linux here and you can see how their mantra fits in right at home with Docker images.


1.
tux@slitaz:~$ docker search alpine
NAME                           DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
alpine                         A minimal Docker image based on Alpine Lin...   1532                 [OK]       
anapsix/alpine-java            Oracle Java 8 (and 7) with GLIBC 2.23 over...   155                  [OK]
frolvlad/alpine-glibc          Alpine Docker image with glibc (~12MB)          50                   [OK]
container4armhf/armhf-alpine   Automatically built base images of Alpine ...   33                   [OK]
mhart/alpine-node-auto         Automated build of mhart/alpine-node – a...     31                   [OK]
[..]


2.
tux@slitaz:~$ docker pull alpine
Using default tag: latest
latest: Pulling from library/alpine
3690ec4760f9: Pull complete
Digest: sha256:1354db23ff5478120c980eca1611a51c9f2b88b61f24283ee8200bf9a54f2e5c
Status: Downloaded newer image for alpine:latest

tux@slitaz:~$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
alpine              latest              baa5d63471ea        13 days ago         4.803 MB


3.
tux@slitaz:~$ docker run -it alpine
docker: Error response from daemon: No command specified.
See 'docker run --help'.

tux@slitaz:~$ docker run -it alpine /bin/sh
/ # cat /etc/os-release

NAME="Alpine Linux"
ID=alpine
VERSION_ID=3.4.4
PRETTY_NAME="Alpine Linux v3.4"
HOME_URL="http://alpinelinux.org"
BUG_REPORT_URL="http://bugs.alpinelinux.org"

/ # apk -V
apk-tools 2.6.7, compiled for x86_64.


4.
/ # apk info
WARNING: Ignoring APKINDEX.167438ca.tar.gz: No such file or directory
WARNING: Ignoring APKINDEX.a2e6dac0.tar.gz: No such file or directory
musl
busybox
alpine-baselayout
alpine-keys
zlib
libcrypto1.0
libssl1.0
apk-tools
scanelf
musl-utils
libc-utils


/ # apk update
fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/community/x86_64/APKINDEX.tar.gz
v3.4.5 [http://dl-cdn.alpinelinux.org/alpine/v3.4/main]
v3.4.4-21-g75fc217 [http://dl-cdn.alpinelinux.org/alpine/v3.4/community]
OK: 5973 distinct packages available


5.
/ # apk add build-base
(1/21) Upgrading musl (1.1.14-r12 -> 1.1.14-r13)
(2/21) Installing binutils-libs (2.26-r0)
(3/21) Installing binutils (2.26-r0)
(4/21) Installing gmp (6.1.0-r0)
(5/21) Installing isl (0.14.1-r0)
(6/21) Installing libgomp (5.3.0-r0)
(7/21) Installing libatomic (5.3.0-r0)
(8/21) Installing libgcc (5.3.0-r0)
(9/21) Installing pkgconf (0.9.12-r0)
(10/21) Installing pkgconfig (0.25-r1)
(11/21) Installing mpfr3 (3.1.2-r0)
(12/21) Installing mpc1 (1.0.3-r0)
(13/21) Installing libstdc++ (5.3.0-r0)
(14/21) Installing gcc (5.3.0-r0)
(15/21) Installing make (4.1-r1)
(16/21) Installing musl-dev (1.1.14-r13)
(17/21) Installing libc-dev (0.7-r0)
(18/21) Installing fortify-headers (0.8-r0)
(19/21) Installing g++ (5.3.0-r0)
(20/21) Installing build-base (0.4-r1)
(21/21) Upgrading musl-utils (1.1.14-r12 -> 1.1.14-r13)
Executing busybox-1.24.2-r11.trigger
OK: 156 MiB in 30 packages


/ # du -sh /
159.7M /


6.
/ # exit
tux@slitaz:~$ docker ps -a

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
36eda3500249        alpine              "/bin/sh"           17 minutes ago      Exited (0) 7 seconds ago                       gloomy_brattain

tux@slitaz:~$ docker commit 36eda3 alpine-gcc
sha256:d53ed0816906235716b8ce759ba90f8da9875fd44981d673a648edd562bb6d27

tux@slitaz:~$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
alpine-gcc          latest              d53ed0816906        6 seconds ago       154 MB
alpine              latest              baa5d63471ea        13 days ago         4.803 MB
tux@slitaz:~$


7.
tux@slitaz:~$ docker run --rm -it alpine-gcc /bin/sh
/ # gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-alpine-linux-musl/5.3.0/lto-wrapper
Target: x86_64-alpine-linux-musl
Configured with: /home/buildozer/aports/main/gcc/src/gcc-5.3.0/configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --build=x86_64-alpine-linux-musl --host=x86_64-alpine-linux-musl --target=x86_64-alpine-linux-musl --with-pkgversion='Alpine 5.3.0' --enable-checking=release --disable-fixed-point --disable-libstdcxx-pch --disable-multilib --disable-nls --disable-werror --disable-symvers --enable-__cxa_atexit --enable-esp --enable-cloog-backend --enable-languages=c,c++,objc,java,fortran,ada --disable-libssp --disable-libmudflap --disable-libsanitizer --enable-shared --enable-threads --enable-tls --with-system-zlib
Thread model: posix
gcc version 5.3.0 (Alpine 5.3.0)


8.
/ # apk info
busybox
alpine-baselayout
alpine-keys
zlib
libcrypto1.0
libssl1.0
apk-tools
scanelf
libc-utils
musl
binutils-libs
binutils
gmp
isl
libgomp
libatomic
libgcc
pkgconf
pkgconfig
mpfr3
mpc1
libstdc++
gcc
make
musl-dev
libc-dev
fortify-headers
g++
build-base
musl-utils


/ # apk info musl
musl-1.1.14-r13 description:
the musl c library (libc) implementation

musl-1.1.14-r13 webpage:
http://www.musl-libc.org/

musl-1.1.14-r13 installed size:
569344


/ # apk info gcc
gcc-5.3.0-r0 description:
The GNU Compiler Collection

gcc-5.3.0-r0 webpage:
http://gcc.gnu.org

gcc-5.3.0-r0 installed size:
65159168


9.
/ # cat /etc/alpine-release
3.4.4

/ # cat /etc/motd
Welcome to Alpine!

The Alpine Wiki contains a large amount of how-to guides and general
information about administrating Alpine systems.
See .

You can setup the system with the command: setup-alpine

You may change this message by editing /etc/motd.

/ #