Commit Graph

79 Commits

Author SHA1 Message Date
Justin Cormack
46adfec8a7 Add a tmpfs at /tmp
This makes sure that once we have ro rootfs any programs that still
for any reason use `/tmp` can still write to it, or if people expect
sharing it into a container to work.

fix #778

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-11-25 17:05:45 +00:00
Justin Cormack
80c9cee485 Make /run nosuid,noexec
This was not sufficiently locked down.

Fix #720

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-11-23 12:08:53 +00:00
Justin Cormack
41f4841399 Run TRIM on Windows every 15m
As the Windows virtual device supports TRIM we can run this to free
up disk space frequently. Not recommended to run on physical devices
this often.

See https://github.com/docker/pinata/issues/5298

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-11-23 11:30:35 +00:00
Justin Cormack
f69f9a3427 Use syslog local0 for docker logs
This allows log rotation, redirect via syslog etc.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-11-18 16:23:41 +00:00
Justin Cormack
e0eda2d1e0 Remove syslog conf file
We are not using busybox syslog any more so this is unused.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-11-18 16:23:41 +00:00
Justin Cormack
23415c038b Rework moving automount earlier in boot sequence
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-11-15 09:54:07 +00:00
Justin Cormack
bd800943d9 Fix /run symlink issues
- run bootmisc before sysklogd so symlinks from /var/run to
  /run are created
- recreate symlinks that bootmisc created when we remount /var
  until this gets moved earlier

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-11-14 22:00:12 +00:00
Justin Cormack
dc10cff096 Revert "Use /run for pidfiles for sysklogd"
This reverts commit b8ff787239.

syslogd always uses /var/run internally, need to fix symlinks.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-11-14 19:55:07 +00:00
Justin Cormack
29df1f9f7b Use /run for pidfiles for sysklogd
This is the real location, and /var may be overmounted.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-11-14 18:38:37 +00:00
Justin Cormack
9d81e2efef Always start vsudd before syslog
If we are using vsudd to forward syslog to the host, as on osx,
we need to start it before syslog starts, and make sure it has
created its socket.

Add a pidfile to vsudd to make startup more reliable.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-11-14 17:08:37 +00:00
Justin Cormack
b042b5127f Revert "Format filesystems earlier, before syslog"
This reverts commit 4dd5dca106.

Fix #710 where system hangs after klogd startup on AWS. Possibly
also affects Windows too. Still unclear why but lets revert and
continue investif=gating.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-11-12 15:29:27 +00:00
Justin Cormack
9a95224681 Format filesystems earlier, before syslog
So that we can write to /var early, move filesystem formatting as early as possible.

Adds a dummy fsck service, as we already do fsck in format script.

Replaces #535

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-11-08 15:20:46 +00:00
Justin Cormack
53e367326b Increase neighbor cache threshold values
Needed for larger clusters.

Needed for https://github.com/docker/editions/issues/377

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-10-28 22:25:36 +01:00
Justin Cormack
68da2c2a49 Support memory overcommit
One less complaint in Redis startup.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-10-05 11:46:58 +02:00
Justin Cormack
635d99d243 Add weekly cron job to TRIM drive
See #536

This is the recommended frequency. For desktop this might be less
suitable, so we may want to adjust

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-09-24 14:18:49 +01:00
Justin Cormack
07103e7e62 Switch to dhcpcd
Should fix issue with not sending hostname which Azure needs.

This should be requesting all the dhcp features we currently use.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-09-23 15:52:30 +01:00
Rolf Neugebauer
803be36b96 net: consolidate DHCP onto eth0 only
- rename DfW main interface eth0
- remove eth1 DHCP config
- create tap device in init script not interfaces file

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-09-22 18:12:45 +01:00
Rolf Neugebauer
b5e38ce811 net: rename Hyper-V internal network to hvint0 and configure it
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-09-22 16:17:26 +01:00
Justin Cormack
ed88a46f97 Increase default fs.aio-max-nr
As recommended by Oracle for MySQL.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-09-19 23:38:26 +01:00
Justin Cormack
468c8ba010 Add rngd
Tweak the config to use RDSEED or (fallback) RDRAND. Makes sure
we have initial random seed in cases where there is no other
random source if these are supported.

The default config in Alpine currently disables these, which makes
it pretty useless, as there is no motherboard rng support any more.

Replaces #517
Fix #514
Fix #183

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-09-16 15:32:56 +01:00
Justin Cormack
9305b37153 Do not prompt for username at login
Given you can login as root with no password on the console,
asking which user you would like to login as is rather pointless.

Do have to tweak /etc/issue though as busybox getty does not display it
without a prompt, and we want a whale.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-09-14 11:38:55 +00:00
David Scott
8f92071848 dhcp: request search domains (DHCP option 119)
Signed-off-by: David Scott <dave.scott@docker.com>
2016-08-31 14:06:55 +01:00
Justin Cormack
0032e8dcfc Fix shared mount of /run
Needs util-linux for now, see https://github.com/docker/moby/issues/424

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-08-22 23:04:57 +01:00
Justin Cormack
06dd021782 Busybox mount will not mount shared, so add a bind
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-08-22 19:09:24 +01:00
Sebastiaan van Stijn
075da30ad7 remove "alpha" from motd
commit 3eae35d77b removed
"alpha" from "issue", but missed removing it here.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-08-13 20:20:03 +02:00
Justin Cormack
f4442e388b Add default sysfs settings
This uses the new Alpine sysfs.conf service to allow config of sysfs.

Default file that sets transparent huge pages to only be used on request
to fix #368

Database setting available for user configuration.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-08-12 14:13:40 +01:00
Justin Cormack
eca2215a96 Not alpha any more, missed this
Signed-off-by: Justin Cormack <justin@specialbusservice.com>
2016-08-12 09:40:16 +01:00
Justin Cormack
82c391f47f Merge pull request #397 from nathanleclaire/kickup_dhcp_timeouts
Increase DHCP timeout and retries
2016-08-09 16:18:25 +01:00
Justin Cormack
398ade787e Mount /run as shared
This is needed for volume drivers as they will mount their
volumes under here, and if they are running in a container
docker on the host will need to see these.

Also provide our own fstab, removes the media devices that were
there previously.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-08-09 11:46:08 +01:00
Nathan LeClaire
de80738b07 Increase DHCP timeout and retries
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2016-08-08 17:41:46 -07:00
Justin Cormack
55d3a0dd42 use openrc for shutdown
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-21 12:57:05 +01:00
Justin Cormack
96489524e7 Use upstream /etc/securetty
Now we modify the file if we use a different console, can use
upstream unmodified.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-15 11:58:01 +01:00
Natanael Copa
9bbf27cb66 merge inittab.x86_64 and inittab.armhf
with the login tty generated from boot cmdline the inittab will be equal
on all archs and platforms so we can merge and move to etc/

Signed-off-by: Natanael Copa <natanael.copa@docker.com>
2016-07-13 18:48:26 +02:00
Ian Campbell
916d920bfb Direct syslog to log to /var/run/syslog.vsock on mac
Avoid doing this on non-Docker-for-{Mac,Win} editions (which don't run vsudd)
by checking for vsudd.pid and avoid doing it on Docker-for-Win (for now) by
checking for /sys/bus/vmbus (as /etc/init.d/vsudd does too).

Ideally we would just check for /var/run/syslog.vsock but this may not have
arrived yet (typically vsudd is now started immediately prior to syslog and it
forks via start-stop-daemon and thus before it creates the socket). Since
syslogd will reopen as needed we don't want to delay boot either here or in the
vsudd initscript to await the arrival of the socket.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2016-07-04 14:47:02 +01:00
Daniel Hiltgen
56c6c3a0a9 Add support for console on tty1
When running moby under other hypervisors, requiring troubleshooting on
the serial port can be painful.  This change enables console support on
tty1 similar to the way prior boot2docker images worked.
2016-06-16 17:17:34 -07:00
Ian Campbell
6545a19b8e Add /etc/mke2fs.conf reenabling the uninit_bg feature
Without this the mkfs.ext4 on Moby on a virtualised OSX goes from ~10s to ~90s.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2016-06-10 18:28:57 +01:00
Rolf Neugebauer
81c8a2a53d config: overwrite resolv.conf and interfaces from database
Allow the host to configure a static IP address for eth0 by setting the
following DB keys:
- net/config: "static" (default or not set -> dhcp)
- net/address: IP address
- net/netmask: netmask in dot notation
- net/gateway: default gateway

Also allow overwriting/setting "/etc/resolve.conf" by writing to
the "etc/resolv.conf" key.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-05-30 10:01:42 +02:00
David Scott
da954e93e3 tap-vsockd: add tap-vsockd service to bring up eth1
The tap-vsockd service is started from eth1's pre-up script.

On the Mac: the bind of the AF_HYPERV socket fails, and eth1 is skipped.
On Windows: if there is no database then eth1 is skipped.
On Windows: if the database has network=native then eth1 is brought up.

Signed-off-by: David Scott <dave.scott@docker.com>
2016-05-21 21:58:38 +01:00
David Scott
47ff9eb817 In a dual NIC configuration, use eth1 for routing
The NIC with the lowest metric is used for routing, while the NIC with
the highest index is used for DNS. Set the metric of eth1 to 199, so it
is higher-priority than eth0, so we use eth1 for everything in a dual
NIC configuration.

Signed-off-by: David Scott <dave.scott@docker.com>
2016-04-18 18:45:32 +01:00
David Scott
6ca504f192 Configure a second possible NIC (eth1)
This makes it possible to have one NIC controlled by vmnet and another
controlled by slirp.

If eth1 doesn't exist then a harmless message is generated during
bootup: (with no appreciable delay)

 * Starting networking ... *   lo ... [ ok ]
 *   eth0 ... [ ok ]
 *   eth1 ...ip: ioctl 0x8913 failed: No such device
 [ !! ]

Signed-off-by: David Scott <dave.scott@docker.com>
2016-04-16 19:31:32 +01:00
Justin Cormack
be2612bfd8 do not set hostname in dhcp
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-03-01 14:57:11 +00:00
Magnus Skjegstad
b084fc0301 udhcpc: set retransmission timeout to 1 sec (was 3 sec), retry if no offer after 3 sec (was 20 sec)
Signed-off-by: Magnus Skjegstad <magnus@skjegstad.com>
2016-01-28 21:24:37 +01:00
Justin Cormack
c1f6b1c2ad inline some config files
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-01-25 11:47:35 +00:00
Justin Cormack
5acf36affa set hostname from database if available
Signed-off-by: Justin Cormack <justin.cormack@unikernel.com>
2016-01-18 17:09:23 +00:00
Justin Cormack
86bf66dc25 add arm console to securetty
Signed-off-by: Justin Cormack <justin.cormack@unikernel.com>
2016-01-14 15:21:15 +00:00
Justin Cormack
49b696967e more arm fixes
Signed-off-by: Justin Cormack <justin.cormack@unikernel.com>
2016-01-13 17:48:42 +00:00
Justin Cormack
478677a809 simplify inittab
Signed-off-by: Justin Cormack <justin.cormack@unikernel.com>
2016-01-13 16:01:36 +00:00
Justin Cormack
3f00b547ac move 9pinit to packages
Signed-off-by: Justin Cormack <justin.cormack@unikernel.com>
2015-12-23 13:18:43 +00:00
Justin Cormack
a7cc326f1c move automount to packages
Signed-off-by: Justin Cormack <justin.cormack@unikernel.com>
2015-12-23 13:02:25 +00:00
Justin Cormack
635a44ab99 use standard chronyd config file, but make sure it starts after docker as it is slow
Signed-off-by: Justin Cormack <justin.cormack@unikernel.com>
2015-12-23 12:50:35 +00:00