docker hub 회원 가입하여 다운로드 받기
docker hub은 플랫폼
이비지 기반으로 동작한다. 이미지란 컨테이너를 실행하기 위한 압축파일과 같은 개념으로 하나의 이미지는 여러 컨테이너를 생성할 수 있고 컨테이너가 삭제 되더라도 이미지는 변하지 않는다.
도커 이미지들은 깃허브와 유사한 서비스인 도커 허브를 통해 버전 관리 및 배포가 가능하다.
윈도우는 도커를 지원하지 않아서 리눅스 환경 모드에서 실행된다.
설치했을 때, 에러나는게 정상임. (윈도우에선 잘 안돌아감)
1) 돋보기로 powershell 검색 -> 관리자 권한으로 실행 / 리눅스 환경으로 세팅하기 위함.
2) 아래와 같이 입력한다.
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
wsl --update
(update가 안되면 아랫줄 입력)
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
wsl --set-default-version 2
wsl --list –online
wsl --install -d Ubuntu-20.04

설치된 화면
ps. 설치 에러가 있었는데
https://learn.microsoft.com/ko-kr/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package
여기서 '
4단계 - Linux 커널 업데이트 패키지 다운로드
' 패키지 다운로드 받고 잘 돌아감.
1) docker run -it ubuntu
2) ctrl이나 exit 로 빠져나옴
3) docker ps -a
CONTAINER ID 등이 나오면 성공
(카톡 공유 내용)
도커 설치
docker 다운로드 - 윈도우 용으로 / 디폴트 값으로 다운 / (설치파일 D로 다운로드)
docker 가상화를 위한 세팅(공유해준 명령어)
window 홈페이지에 wsl2에 update.exe파일 다운로드 후 설치
docker run -it ubuntu : 우분투 이미지 다운로드 및 실행
ctrl + c 또는 exit
docker ps -a : docker 프로세스 상태 확인
그 다음
docker start 5c5d7026048a
로 컨테이너 아이디를 붙여넣음
docker ps -a
로 다시 확인하면 시작된걸 볼 수 있다.
스탑하고 싶으면 docker stop 5c5d7026048a (컨테이너 아이디)
를 하면 된다.
ps : 프로세스
a : all
docker images : dockekr 이미지 목록 조회
docker run -it --name my_ubuntu ubuntu : 이름을 지정해서 우분투 리눅스 프로세스 생성 -> exit
우분투는 최초 생성 후 exit 하게 되면 종료되므로 다시 start 해야 함
우분투 여러개도 가능함.
삭제 방법 : stop 시킴 -> docker rm 컨테이너ID
docker rmi 이미지iD로 이미지도 삭제 가능
우분투 실행시
docker run -it --name my_ubuntu ubuntu
나머지 대부분의 프로그램
docker run --name my_sql(프로그램 네임) mysql
도커 컨테이너 내부로 접속
docker exec -it 컨데이터명 /bin/bash
docker exec -it my_ubuntu /bin/bash
리눅스는 명령어 기반으로 사용된다.
디렉토리 이동 : cd 이동할 위치
위치를 알고 싶을 떄 pwd (현재 위치 조회 명령어)
최상단 root 경로는 /로 표현한다
root 계정은 모든 계정이 있는 super 계정
파일/디렉토리 목록조회 : ls -al (권한 생성된 날짜까지 나옴)
이동하고 싶으면 cd etc 이런 식으로 이동
상위 폴더로 이동하는 법
1) 상대경로 : cd ..
2) 절대경로 : /etc (full paht를 주는거)
.은 현재 경로를 의미 ..은 사우이 경로를 의미
cd만 치면 홈 경로
cd / 를 치면 root 경로로 이동한다
rm은 삭제
clear 명령어 정리
mkdir :디렉토리 생성
컨트롤 + C : 실행중 명령어 취소
re -r 디렉토리명 : 삭제
touch 파일명(test.txt) : 파일 생성
방향키로는 위에 어떤걸 했는지 다 볼 수 있다.
history로는 사용했던 명령어를 한번에 본다
cp 복사대상 복사할 곳: 파일이나 디렉토리를 복사, cp -r 하면 디렉토리까지 모두 복사(copy + paste)
mv 이동대상 이동할곳: 파일이나 디렉토리를 이동, 잘라내서 붙여넣기와 같은 기능
root@487213f07e0e:/# cp test.txt ../test2.txt
다시 로그인하는법
docker ps : 실행중인 프로세스
docker ps -a : 모든 프로세스
docker star 컨테이너 id
root@487213f07e0e:/# mkdir my_folder
root@487213f07e0e:/# cd my_folder
root@487213f07e0e:/my_folder# pwd
/my_folder
root@487213f07e0e:/my_folder#
root@487213f07e0e:/my_folder# cd ...
bash: cd: ...: No such file or directory
root@487213f07e0e:/my_folder# touch test2.txt
root@487213f07e0e:/my_folder# ls -al test2.txt
-rw-r--r-- 1 root root 0 Jun 3 15:14 test2.txt
root@487213f07e0e:/my_folder#
test_folder를 상위폴더의 위치로 test2_folder라는 이름으로 복사
cp -r 옵션을 주면 폴더 복사 가능
cp -r test_folder ../test2_folder
test로 시작하는 파일 폴더 조회
ls -al test*
폴더를 지울떄는 rm -r 폴더명 / 파일은 rm 폴더명
rm 삭제대상1 삭제대상2
root@487213f07e0e:/my_folder# mv test.txt ../test.txt
파일 이동
같은 위치에 폴더 추가
mv test_folder test2_folder
mv는 파일명 변경으로도 많이 사용된다
cat 파ㅏ일명 : 파일 내용을 터미널에 출력한다
리눅스의 vi편집기 : 리눅스 패키지 tool :apt (우분투 용)
pip 같은거임
vi test.txt 엔터
i (인서트모드)
적을 글 입력
esc
쉬프트+세미콜론
wq 엔터 (저장)
cat test.txt (파일 내용을 읽을 수 있다.)
파이썬 예시
while True:
gugu = int(input('please enter number'))
for a in range(1,10):
print(f'{gugu} X {a} = {gugu*a}')
파일 수정
vi test.py
커서로 움직이기
수정하고
쉬프트_세미콜론
wq엔터
root@487213f07e0e:/etc# python3 test.py
이렇게 하면 구구단 파일 확인 가능
:
q! 엔터는 저장하지 않고 나가기(강제종료)
편집모드
yy 복사
p 붙여넣기
gg 첫행
쉬프트 쥐 끝행
dd 현재 행 삭제
컨트롤F 한 페이지 이동 컨트롤B 앞으로 이동
e 해당 라인에서 마지막 단어 이동
0 해당 라인에서 첫번째 단어 이동
sudo 명령어
현재 계정에서 root계정의 권한을 빌려 명령어를 실행하는 것
예시) sudo apt-get install python


(시간대는 utc 시간대)
소유자 그룹 : 특정한 사용자 list를 그룹으로 묶어놓은 개념으로 리눅스에서 모든 사용자는 어떤 그룹에 속해있다
권한은 3개로 나뉘는데 소유자/소유자그룹/기타
각 파트는 read,write,실행으로 구성된다
chown 계정명 : 계정그룹명 파일명
r 숫자 4, w 숫자 2 x 숫자 1을 의미한다
grep : 특정 문자열을 찾을때 사용
find : 특정한 파일을 찾을때 사용
05:26:29 mysql