15주 차 학습
1. Docker
Docker
- 컨테이너 기반의 애플리케이션을 빠르게 구축, 테스트, 배포할 수 있는 플랫폼
Docker 구성 요소
- Docker Client
- 사용자 명령 입력
- ex. Windows PowerShell
- Docker Host
- Docker 데몬이 실행되는 환경
- ex. Docker Desktop
- Registry(Docker Hub)
- 이미지 저장소
- 이미지 Pull/Push
Docker 명령어
docker search <image_name> # Docker Hub에서 이미지 검색
docker pull <image_name>:<tag> # 이미지 다운로드
docker images # 이미지 목록 확인
docker run -it --name <container_name> <image_name> /bin/bash # 컨테이너 생성 및 bash 진입
docker ps # 실행 중인 컨테이너 목록 확인
docker stop <container_name> # 컨테이너 중지
docker start <container_name> # 컨테이너 시작
docker restart <container_name> # 컨테이너 재시작
docker attach <container_name> # 실행 중인 컨테이너에 접속
docker rm <container_name> # 컨테이너 삭제
docker rmi <image_name>:<tag> # 이미지 삭제
Dockerfile
- 컨테이너 환경을 정의하는 설정 파일
docker build -t <image_name>:<version> <path> # Dockerfile로 이미지 빌드
Docker Network
- bridge
- 기본 네트워크
- 동일 호스트 내 컨테이너 간 통신
- host
- 컨테이너가 호스트 네트워크를 그대로 사용
- overlay
- 다중 호스트 간 가상 네트워크 구성
docker network ls # 네트워크 목록 확인
docker network create <network_name> # 네트워크 생성
docker network inspect <network_name> # 네트워크 상세 정보 조회
docker network connect <network_name> <container_name> # 네트워크에 컨테이너 연결
docker network disconnect <network_name> <container_name> # 네트워크에서 컨테이너 분리
docker network rm <network_name> # 네트워크 삭제
docker network prune # 사용하지 않는 네트워크 정리
Docker Compose
- 여러 컨테이너를 하나의 서비스처럼 정의하고 관리하는 도구
- docker-compose.yml 파일로 전체 시스템을 한 번에 실행, 중지, 삭제 가능
2. Linux
Linux
- 리눅스 커널 기반의 오픈소스 유닉스 계열 운영체제
Linux 구조
- Application
- 사용자 프로그램
- ex. 브라우저, 편집기
- Shell
- 명령어 인터페이스
- ex. Bash
- Kernel
- OS의 핵심
- 하드웨어 제어
- Hardware
- ex. CPU, RAM
Linux 명령어
# Account
whoami # 현재 로그인한 사용자 확인
sudo passwd <username> # 사용자 비밀번호 변경
sudo adduser <username> # 새 사용자 생성
su - <username> # 사용자 전환
# Package
apt-get update # 패키지 목록 갱신
apt-get upgrade # 설치된 패키지 업그레이드
apt-get dist-upgrade # 의존성 포함한 전체 업그레이드
apt-get install -y <package_name> # 패키지 설치
# File & Directory
pwd # 현재 디렉토리 경로 출력
ls # 디렉토리 목록 출력
cd <directory> # 디렉토리 이동
clear # 터미널 화면 정리
cat <file_name> # 파일 내용 출력
touch <file_name> # 빈 파일 생성
mkdir [-p] <directory_name> # 디렉토리 생성
mv <source> <destination> # 파일 이동 또는 이름 변경
cp [-r] <source> <destination> # 파일 또는 디렉토리 복사
rm <file_name> # 파일 삭제
rm -r <directory_name> # 디렉토리 삭제
# Permission
chmod <permission> <file_or_directory> # 파일 또는 디렉토리 권한 설정
15주 차 회고
Keep
- 단위 프로젝트가 끝났고, 새로운 단위에 들어갔는데 기본적인 내용들을 배워서 어렵지 않게 따라갈 수 있었다.
- 주말에 AWS 특강이 있었는데 시험이 잡혀서 참여하지 못했다. 그래서 월요일에 강의자료를 보고 따라 해 볼 생각이다.
Problem
- 이번 단위 프로젝트에 많이 기여하지 못한 것 같아서 아쉽다. 다음 단위 프로젝트에는 좀 더 적극적으로 참여해야 할 것 같다.
- 코딩 실력이 많이 부족한 것 같아서 좀 더 많이 공부해야 할 것 같다.
Try
- 이제 급한 일들이 모두 끝난 것 같아서 남는 시간 동안 무엇을 할지 고민해봐야 할 것 같다.
- PyTorch, TensorFlow, 코딩테스트, 데이터 분석 등 해야 할 것은 많은데 우선순위를 정해야 할 것 같다.
'SK네트웍스 Family AI캠프 10기 > Weekly 회고' 카테고리의 다른 글
| [플레이데이터 SK네트웍스 Family AI 캠프 10기] 17주차 회고 (0) | 2025.05.03 |
|---|---|
| [플레이데이터 SK네트웍스 Family AI 캠프 10기] 16주차 회고 (0) | 2025.04.27 |
| [플레이데이터 SK네트웍스 Family AI 캠프 10기] 14주차 회고 (0) | 2025.04.13 |
| [플레이데이터 SK네트웍스 Family AI 캠프 10기] 13주차 회고 (0) | 2025.04.06 |
| [플레이데이터 SK네트웍스 Family AI 캠프 10기] 12주차 회고 (0) | 2025.03.31 |