패키지 관리자 설치
Window
chocolately 사이트에 들어가 사이트 주소 복사.
Powershell을 관리자 권한으로 실행.
붙여넣기하여 choco 패키지 설치.
명령어로 vagrant와 virtualbox 설치
choco install vagrant virtualbox
일반 유저 Powershell로 들어가서 임의의 디렉토리를 만든다.
mkdir docker
vagrant init ubuntu/focal64
관리자 권한으로 vscode를 설치한다.
choco install vscode
vagrant파일을 열어 설정을 확인.
code .\vagrantfile
이 때 파일의 End of Line Sequence가 CRLF로 설정되어있을 수 있다. LF는 리눅스 계열, CRLF는 윈도우의 Line Sequence 이기 때문에 리눅스 계열인 LF를 사용하는 것이 좋다.
VM 부팅
vagrant up
VM 상태확인
vagrant status
VM 접속
vagrant ssh
VM 중지
vagrant halt
VM 재시작
vagrant reload
VM 삭제
vagrant destory
Debian, Ubuntu 리눅스 .db 패키지 사용==관리==>apt명령
CentOS, Amazon Linux, RHEL, Fedora 리눅스 .rpm 패키지 사용==관리==> yum 명령
기본 패키지 저장소에서 제공하는 Docker 관련 패키지는 최신 패키지가 아니다
Docker Inc.
- 둘의 베이스 기능은 똑같다. 제품을 사용하다가 문제가 발생했을 때 지원을 받을 수 있는 것이 유료버전과 무료버전의 차이이다.
docker-ce(Community Edition): 오픈소스/무료
docker-ee(Enterprise Edition): 상용버전/유료
Docker Hub: https://hub.docker.com/ 컨테이너 이미지 공유/일부 기능 유료
Docker Swarm: Container Orchestration
Container 핵심기술
Linux Kernel
Container( Namespace + C group)
Container는 Docker가 아니다.
개념 자체는 2000년대 중반에 잡혀 있었고 이것을 Docker에서 가져온 것.
유저들이 가상머신의 사용을 불편하게 여길때쯤 시기를 잘 맞춰 등장하였다.
Docker는 lxc를 원래 라이브러리(Container Runtime)으로 사용하였는데, 보안상의 이슈가 계속 생겨 containerd라는 자체 라이브러리를 개발하여 사용하게 되었다.
Docker Desktop
설치방법이 나와있는 웹사이트
https://wordpress.org/support/article/how-to-install-wordpress/
Apache 또는 Nginx
PHP 7.4 이상
MySQL 5.6 이상 또는 MariaDB 10.1 이상
도커에서는 쉽게 설치 가능하지만, 무엇을 왜 설치하는지 알기 위해서는 위의 3가지를 수동으로
설치해보는 경험을 쌓는 것이 좋다.
================================================================
Vagrant 설정, 실습
code .\Vagrantfile
'# -- mode: ruby --
'# vi: set ft=ruby :
Vagrant.configure("2") do |config|config.vm.define "docker-engine" do |ubuntu|
ubuntu.vm.box = "ubuntu/focal64"
ubuntu.vm.hostname = "docker-engine"
ubuntu.vm.provider "virtualbox" do |vb|
vb.name = "docker-engine"
vb.cpus = 2
vb.memory = 2048
end
end
end
호스트 온리 네트워크 추가
'# -- mode: ruby --
'# vi: set ft=ruby :
Vagrant.configure("2") do |config|config.vm.define "docker-engine" do |ubuntu|
ubuntu.vm.box = "ubuntu/focal64"
ubuntu.vm.hostname = "docker-engine"
ubuntu.vm.network "private_network", ip: "192.168.100.10"
ubuntu.vm.provider "virtualbox" do |vb|
vb.name = "docker-engine"
vb.cpus = 2
vb.memory = 2048
end
end
end