MoinMoin Logo
  • Comments
  • Immutable Page
  • Menu
    • Navigation
    • RecentChanges
    • FindPage
    • Local Site Map
    • Help
    • HelpContents
    • HelpOnMoinWikiSyntax
    • Display
    • Attachments
    • Info
    • Raw Text
    • Print View
    • Edit
    • Load
    • Save
  • Login

Navigation

  • Start
  • Sitemap

Upload page content

You can upload content for the page named below. If you change the page name, you can also upload content for another page. If the page name is empty, we derive the page name from the file name.

File to load page content from
Page name
Comment

Revision 14 as of 2018-04-05 15:29:58
  • Docker

Docker

Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications.

http://www.zdnet.com/article/what-is-docker-and-why-is-it-so-darn-popular/

Developers can use Docker to pack, ship, and run any application as a lightweight, portable, self sufficient LXC container that can run virtually anywhere.

In a nutshell, here's what Docker can do for you: It can get more applications running on the same hardware than other technologies; it makes it easy for developers to quickly create, ready-to-run containered applications; and it makes managing and deploying applications much easier.

http://en.wikipedia.org/wiki/LXC

LXC (Linux Containers) is an operating system–level virtualization method for running multiple isolated Linux systems (containers) on a single control host.

LXC provides operating system-level virtualization through a virtual environment that has its own process and network space, instead of creating a full-fledged virtual machine.

Tutorial

https://www.docker.com/tryit

https://hub.docker.com/

https://docs.docker.com/installation

https://docs.docker.com/articles/basics/

Windows install

https://docs.docker.com/installation/windows/

The Docker Engine uses Linux-specific kernel features, so to run it on Windows we need to use a lightweight virtual machine (vm).

docker run hello-world

Docker SSH container Ubuntu

https://docs.docker.com/examples/running_ssh_service/

In bootDocker create ~/ssh/Dockerfile :

# sshd
#
# VERSION               0.0.2

FROM ubuntu:14.04
MAINTAINER Sven Dowideit <SvenDowideit@docker.com>

RUN apt-get update && apt-get install -y openssh-server
RUN mkdir /var/run/sshd
RUN echo 'root:screencast' | chpasswd
RUN sed -i 's/PermitRootLogin without-password/PermitRootLogin yes/' /etc/ssh/sshd_config

# SSH login fix. Otherwise user is kicked off after login
RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd

ENV NOTVISIBLE "in users profile"
RUN echo "export VISIBLE=now" >> /etc/profile

EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]
  • docker build -t eg_sshd .
  • docker run -d -P --name test_sshd eg_sshd
  • docker ps -l
  • ssh root@127.0.0.1 -p49153 # password screencast

  • sudo docker stop test_sshd # stop container test_sshd

Install jdk8 in trusty

  • apt-get install software-properties-common
  • add-apt-repository ppa:openjdk-r/ppa -y
  • apt-get update
  • apt-get install openjdk-8-jdk

Dockerfile

FROM ubuntu:14.04

RUN apt-get update && \
    apt-get install -y traceroute openssh-server software-properties-common mongodb rabbitmq-server  && \
    add-apt-repository ppa:openjdk-r/ppa -y && \
    apt-get update && \
    apt-get install -y openjdk-8-jdk

RUN mkdir /var/run/sshd
RUN echo 'root:12345678' | chpasswd
RUN sed -i 's/PermitRootLogin without-password/PermitRootLogin yes/' /etc/ssh/sshd_config

# SSH login fix. Otherwise user is kicked off after login
RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd

ENV NOTVISIBLE "in users profile"
RUN echo "export VISIBLE=now" >> /etc/profile

EXPOSE 22 8080 8081 8082 5672 15672 27017 80
CMD ["/usr/sbin/sshd", "-D"]

Install Docker CE slack 64 14.2

  • https://slackbuilds.org/repository/14.2/system/docker/

== Install go lang ==

cd /tmp
wget https://slackbuilds.org/slackbuilds/14.2/development/google-go-lang.tar.gz
tar xvzf google-go-lang.tar.gz
cd google-go-lang
wget https://storage.googleapis.com/golang/go1.10.1.src.tar.gz
change slackbuild to use 1.10.1
./google-go-lang.SlackBuild
installpkg /tmp/google-go-lang-1.9.5-x86_64-1_SBo.tgz
go --version 

In ~/.bashrc 
export GOPATH="$HOME:/usr/share/gocode"
go help buildmode
go get golang.org/x/tools/cmd/godoc

remove support to gcc-go !

/usr/lib64/go1.10.1/go/bin/
/usr/lib64/go1.10.1/go/bin/go version
# in ~/.bashrc
export PATH="$PATH:/usr/lib64/go1.10.1/go/bin/"

Install docker-proxy

cd /tmp
wget https://slackbuilds.org/slackbuilds/14.2/system/docker-proxy.tar.gz
tar xvzf docker-proxy.tar.gz
cd docker-proxy
wget https://github.com/docker/libnetwork/archive/1b91bc9/libnetwork-1b91bc94094ecfdae41daa465cc0c8df37dfb3dd.tar.gz
./docker-proxy.SlackBuild 
installpkg /tmp/docker-proxy-20180314_1b91bc9-x86_64-1_SBo.tgz

install tini

cd /tmp
wget https://slackbuilds.org/slackbuilds/14.2/system/tini.tar.gz
tar xvzf tini.tar.gz 
cd tini
wget https://github.com/krallin/tini/archive/949e6fa/tini-949e6facb77383876aeff8a6944dde66b3089574.tar.gz
./tini.SlackBuild 
installpkg /tmp/tini-0.13.0_949e6fa-x86_64-1_SBo.tgz 

install libseccomp

cd /tmp
wget https://slackbuilds.org/slackbuilds/14.2/libraries/libseccomp.tar.gz
tar xvzf libseccomp.tar.gz
cd libseccomp
wget https://github.com/seccomp/libseccomp/archive/v2.3.3/libseccomp-2.3.3.tar.gz
./libseccomp.SlackBuild 
installpkg /tmp/libseccomp-2.3.3-x86_64-1_SBo.tgz 

install runc

cd /tmp
wget https://slackbuilds.org/slackbuilds/14.2/system/runc.tar.gz
tar xvzf runc.tar.gz 
cd runc
wget https://github.com/opencontainers/runc/archive/v1.0.0-rc5/runc-1.0.0-rc5.tar.gz
./runc.SlackBuild 
installpkg /tmp/runc-1.0.0_rc5-x86_64-1_SBo.tgz

install containerd

cd /tmp
wget https://slackbuilds.org/slackbuilds/14.2/system/containerd.tar.gz
tar xvzf containerd.tar.gz
cd containerd
wget https://github.com/containerd/containerd/archive/v1.0.2/containerd-1.0.2.tar.gz
./containerd.SlackBuild 
installpkg /tmp/containerd-1.0.2-x86_64-1_SBo.tgz

install docker

cd /tmp
wget https://slackbuilds.org/slackbuilds/14.2/system/docker.tar.gz
tar xvzf docker.tar.gz
cd docker 
wget https://github.com/docker/docker-ce/archive/v18.03.0-ce/docker-ce-18.03.0-ce.tar.gz
./docker.SlackBuild
installpkg /tmp/docker-18.03.0-x86_64-1_SBo.tgz
  • MoinMoin Powered
  • Python Powered
  • GPL licensed
  • Valid HTML 4.01