티스토리 뷰

Dockerfile

FROM centos:centos7
# Your vagrant public key
ENV PUB_KEY="ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ=="
MAINTAINER Common DevOps Engineering <dl_ei_cde@linecorp.com>

RUN yum -y update; \
    yum clean all; \
    yum -y install openssh-server openssh-clients passwd sudo; \
    yum clean all;  \
    mkdir /var/run/sshd; \
    ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N '';

# ============================
# Create 'vagrant' user
# ============================
ENV USER="vagrant"
RUN useradd --create-home -s /bin/bash $USER; \
    echo -e "$USER\n$USER" | (passwd --stdin $USER); \
    echo "$USER ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/$USER; \
    chmod 440 /etc/sudoers.d/$USER; \
    mkdir -p /home/$USER/.ssh; \
    chmod 700 /home/$USER/.ssh; \
    touch /home/$USER/.ssh/authorized_keys; \
    echo $PUB_KEY >> /home/$USER/.ssh/authorized_keys; \
    chmod 600 /home/$USER/.ssh/authorized_keys; \
    chown -R $USER:$USER /home/$USER/.ssh;

# ============================
# Create 'www' user
# ============================
ENV USER="www"
RUN useradd --create-home -s /bin/bash $USER; \
    echo -e "$USER\n$USER" | (passwd --stdin $USER);

VOLUME ["/sys/fs/cgroup"]
CMD ["/usr/sbin/init"]

Vagrantfile

ENV['VAGRANT_DEFAULT_PROVIDER'] = 'docker'

Vagrant.configure("2") do |config|
  config.vm.network :forwarded_port, guest: 22, host_ip: "127.0.0.1", host: 2222, auto_correct: true, id: "ssh"
  config.vm.provider "docker" do |docker, override|
    # docker doesnt use boxes
    override.vm.box = nil

    # this is where your Dockerfile lives
    docker.build_dir = "."
    docker.dockerfile = "Dockerfile"

    # Make sure it sets up ssh with the Dockerfile
    # Vagrant is pretty dependent on ssh
    override.ssh.insert_key = true
    docker.has_ssh = true

    # Configure Docker to allow access to more resources
    docker.privileged = true
    docker.remains_running = false
    docker.volumes = ["/sys/fs/cgroup:/sys/fs/cgroup:rw"]
    docker.create_args = ["--cgroupns=host"]
  end
end

How to start

# Start
$ vagrant up

# Connect to Docker image
$ ssh vagrant@127.0.0.1 -p 2222
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함