Created
March 14, 2017 05:12
-
-
Save mrmrcoleman/d1b350fd53e4a8a2353f27a82e071a73 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
title: "How To Run Docker in Hyper.sh" | |
date: 2017-03-13 18:00:00 +0800 | |
author: hyper | |
preview: | | |
This blog shows you a few ways to setup a Docker daemon, and launch Docker containers inside of a Hyper container. | |
--- | |
# How to run Docker in Hyper.sh | |
Lately we have received a lot of requests asking **how to run Docker in Hyper.sh**. This blog shows you a few ways to setup a Docker daemon, and launch Docker containers inside of a Hyper container. | |
--- | |
### Ubuntu 16.04 | |
``` bash | |
$ ID=`hyper run -d ubuntu:16.04` # launch an Ubuntu container | |
$ hyper exec -it ${ID} /bin/bash # get shell access | |
# apt-get update | |
# apt-get install docker.io cgroup-lite screen -y # install dependencies | |
# cgroups-mount # mount cgroup | |
# screen -dmS docker_daemon dockerd -D # Do NOT use `service docker start` | |
# docker info # if this works, you are all set | |
``` | |
### CentOS 7.0 | |
``` bash | |
$ ID=`hyper run -d centos:7` | |
$ hyper exec -it ${ID} /bin/bash | |
# yum install libcgroup e2fsprogs iptables screen docker -y | |
# mkdir -p /cgroup/memory && mount -t cgroup -o rw,nosuid,nodev,noexec,relatime,memory cgroup /cgroup/memory | |
# mkdir -p /cgroup/cpuset && mount -t cgroup -o rw,nosuid,nodev,noexec,relatime,cpuset cgroup /cgroup/cpuset | |
# mkdir -p /cgroup/cpu,cpuacct && mount -t cgroup -o rw,nosuid,nodev,noexec,relatime,cpu,cpuacct cgroup /cgroup/cpu,cpuacct | |
# mkdir -p /cgroup/net_cls,net_prio && mount -t cgroup -o rw,nosuid,nodev,noexec,relatime,net_cls,net_prio cgroup /cgroup/net_cls,net_prio | |
# mkdir -p /cgroup/blkio && mount -t cgroup -o rw,nosuid,nodev,noexec,relatime,blkio cgroup /cgroup/blkio | |
# mkdir -p /cgroup/freezer && mount -t cgroup -o rw,nosuid,nodev,noexec,relatime,freezer cgroup /cgroup/freezer | |
# mkdir -p /cgroup/perf_event && mount -t cgroup -o rw,nosuid,nodev,noexec,relatime,perf_event cgroup /cgroup/perf_event | |
# mkdir -p /cgroup/devices && mount -t cgroup -o rw,nosuid,nodev,noexec,relatime,devices cgroup /cgroup/devices | |
# mkdir -p /cgroup/pids && mount -t cgroup -o rw,nosuid,nodev,noexec,relatime,pids cgroup /cgroup/pids | |
# screen -dmS docker_daemon /usr/bin/dockerd-current \ | |
--add-runtime docker-runc=/usr/libexec/docker/docker-runc-current \ | |
--default-runtime=docker-runc \ | |
--userland-proxy-path=/usr/libexec/docker/docker-proxy-current | |
# docker info | |
``` | |
### Prebaked Docker Images! | |
Prefer to use something prebaked? Check out our repository on Docker hub: [https://hub.docker.com/r/hyperhq/docker-in-hyper/](https://hub.docker.com/r/hyperhq/docker-in-hyper/) | |
You can use the following tags: | |
- hyperhq/docker-in-hyper:ubuntu-16.04 | |
- hyperhq/docker-in-hyper:centos7 (`latest`) | |
#### Usage | |
``` bash | |
$ hyper run -d -P hyperhq/docker-in-hyper | |
8dcb2ab017eb4603ae1d9a92ffc68e5cf0edec63e780f9180228eabfce47e028 | |
$ hyper ps | |
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES PUBLIC IP | |
8dcb2ab017eb hyperhq/docker-in-hyper "/entrypoint.sh /bin/" 1 minutes ago Up 1 minutes 0.0.0.0:2375->2375/tcp clever-shirley | |
$ hyper exec -it 8dcb2ab01 /bin/bash | |
[root@8dcb2ab017eb /]# docker ps | |
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES | |
``` | |
### Questions? | |
Feel free to drop us an email [contact@hyper.sh](mailto:contact@hyper.sh), or use the Forum, the Twitter or the in console support window! |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment