티스토리 뷰
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
'DevOps > ETC' 카테고리의 다른 글
Rundeck: A Powerful Tool for IT Operations Automation (0) | 2024.06.07 |
---|---|
Rundeck: IT 운영 자동화의 강력한 도구 (0) | 2024.06.07 |
Backstage: Spotify의 혁신적인 개발자 포털 소개 (0) | 2024.05.20 |
Vagrant: docker-provider for centos7 (0) | 2023.06.20 |
[Vagrant] System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8) (0) | 2023.06.19 |
[Redis/레디스] Redis CentOS 소스 설치 (0) | 2018.07.26 |
Redash 3.0 LDAP 적용 (2) | 2018.01.22 |
[Fluentd] Install td-agent (0) | 2017.06.15 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- Nexus
- 젠킨스
- 엔시블
- JVM
- Config History
- 데브옵스
- 엔서블
- 리눅스
- URL Encoding
- Password manager
- Shell Script
- 쓰레드덤프
- Thread Dump
- vagrant
- Ansible
- iTerm2
- ssl
- 플레이북
- openssl
- 파이프라인
- Docker
- Linux
- DevOps
- PostgreSQL
- Jenkins
- groovy
- rundeck
- rsync
- nginx
- Playbook
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함