전단 개발 환경 구축 - docker 편
package.json
또는 gulpfile.js
파일 변경 제외) nginx
자체 적 으로 배치 하여 서로 다른 프로젝트 의 수 요 를 만족 시 킬 수 있다 ubuntu
시스템 환경 을 바탕 으로 nginx
정적 자원 서버 가 docker
노출 된 포트 를 통 해 전송 을 요청 합 니 다. 그러면 백 엔 드 개발 기 위 에 설치 docker
만 하면 전단 의 정적 자원 에 접근 할 수 있 고 전단 개발 기 에 접근 할 필요 가 없습니다.3. 구체 적 인 해결 방안
우선
Kitematic
은 하나 Docker GUI
로 배치 가 매우 편리 하 다.그 다음으로 Docker 에서 가장 중요 한 세 가지 개념 은 Container (용기), Image (미 러), Volume (볼 륨) 이다.
Image 는 정적 내용 입 니 다. 어떤 Image 를 뛰 려 면 Container 가 필요 합 니 다.이 안 에는 중요 한 것 이 있 습 니 다. Container 에서 변경 한 것 은 Image 에 저장 되 지 않 습 니 다.변경 사항 을 저장 하려 면 간단 합 니 다. 실행
docker commit ContainerID TAG
하면 됩 니 다. git 와 유사 한 commt 입 니 다.사용 하지 않 으 려 면
commit
파일 을 저장 하고 싶 으 면 docker 도 Volume 을 사용 하 는 방법 을 제공 합 니 다.Volume 은 데 이 터 를 저장 하 는 폴 더 입 니 다. Image 를 시작 할 때 하나 이상 의 Volume 을 마 운 트 할 수 있 습 니 다. Volume 의 데 이 터 는 Image 에 독립 되 어 있 으 며 재 부팅 할 때 잃 어 버 리 지 않 습 니 다.
마지막 으로 포트 맵.앞에서 말 했 듯 이 Docker 는 가상 컴퓨터 로 볼 수 있 습 니 다. 모든 파일 이 안에 있 습 니 다.만약 당신 이 Container 에서 서버 를 실행 하고 감청
127.0.0.1:8000
을 한다 면, 당신 의 기계 에서 직접 방문 http://127.0.0.1:8000
해 서 는 안 됩 니 다. 왜냐하면 Container 와 당신 의 기 계 는 서로 다른 환경 이기 때 문 입 니 다.그럼 어 떡 하지?우 리 는 먼저 모두 가 잘 아 는 문 제 를 보 자.
일상적인 개발 에서 우 리 는 항상 동료 에 게 웹 페이지 효 과 를 미리 볼 수 있 도록 해 야 한다. 자주 사용 하 는 방법 은 감청
0.0.0.0:8000
한 다음 에 동료 에 게 같은 랜 을 연결 시 켜 방문 http://你的机器IP:8000
하면 된다.Container 의 문 제 는 매우 비슷 하 다. 단지 우리 자신 이 '동료' 가 되 었 을 뿐 Docker 내부 홈 페이지 를 방문 해 야 한다.컨테이너 IP 만 받 으 면 문제 가 해 결 될 것 같 습 니 다.
다행히 Container 에는 IP 가 있 었 다.
통상 적 으로 이 IP 는
192.168.99.100
(Kitematic 를 이용 하여 docker 를 시작) 이 며, Container 의 홈 호스트 (즉 Docker 를 실행 하 는 기계) 에서 만 접근 할 수 있 습 니 다.그러나 Container 의 경우 IP 만 연결 되 어 있 고 포트 는 연결 되 어 있 지 않다.따라서 Container 내부 의 포트 (예 를 들 어 8000) 에 접근 하려 면 포트 맵 을 수 동 으로 설정 하고 Container 내부 의 포트 를 IP 에 표시 해 야 합 니 다.착수 하 다
1. 다운로드
Docker Toolbox
Docker Toolbox 는 Windows 와 Mac OS 를 지원 합 니 다. 홈 페이지 에 다운로드 하여 설치 할 수 있 습 니 다. 시간 이 많이 걸 리 므 로 좋 은 가방 을 직접 찾 는 것 을 권장 합 니 다.설치 가 끝 난 후 Kitematic 를 열 고 Docker Hub 계 정 을 등록 하여 다음 작업 을 편리 하 게 합 니 다.
2. 미 러 다운로드
Ubuntu
Katematic 에서 의 검색 Ubuntu두 번 째 줄 의 첫 번 째 를 선택 하고
create
단 추 를 누 르 십시오.여기에 한 마디 를 꽂 으 면
fuck GFW
100 M 의 파일 을 두 시간 동안 다운로드 할 수 있 고 취 했다.다운로드 가 완료 되면 Kitematic 왼쪽 Container 목록 에서 ubuntu 를 선택 한 다음 위 에 있 는 'START' 단 추 를 눌 러 실행 합 니 다."EXEC"를 누 르 면 시스템 명령 행 에 들 어 갈 수 있 습 니 다. su 를 입력 하여 루트 권한 을 엽 니 다.
이때 Kitematic 오른쪽 상단 에 있 는 'Settings' 를 클릭 하고' Ports' 를 클릭 하면 보통 192.168.99.100 의 IP 주 소 를 볼 수 있다.자신의 컴퓨터 를 켜 는 명령 행 에 ping 192.168.99.100 을 입력 하면 통 할 것 입 니 다.
3. 일반적인 초기 화 작업
슬 래 그 다운로드 속도 가 지 겨 워 서 원본 을 바 꾸 기로 했 습 니 다.중과 대의 원천 을 채택 하 였 으 니 아 리 운 의 원천 을 시험 해 보 세 요. 속도 가 모두 좋 습 니 다 ~
sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
apt-get update
필요 한 편집기 설치 및 경로 보완:
apt-get install vim bash-completion
다른 도 구 는 스스로 추가 할 수 있다.4. nginx 및 nvm 설치
nvm
는 node 버 전 관리자 로 여러 node 버 전 관 리 를 할 수 있 습 니 다.루트 권한 을 여 는 터미널 입력:
apt-get update
apt-get install nginx
apt-get install curl
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.1/install.sh | bash
source ~/.bashrc
nvm install node
설치 가 완료 되 었 습 니 다. nginx 설정 을 하 느 라 바 쁘 지 않 습 니 다. 데이터 볼 륨 을 마 운 트 한 후에 nginx 설정 파일 을 수정 해 야 합 니 다.
nvm
국내 타 오 바 오 소스 를 사용 할 수 있어 속도 가 빠르다.5. 이미지 내 보 내기
mac 플랫폼 에서 Katematic 를 직접 조작 하여 포트 맵 설정 을 할 수 있 지만 windows 플랫폼 에 서 는
命令行
을 통 해 만 설정 할 수 있 습 니 다.마 운 트 볼 륨 은 현재 命令行
를 통 해서 만 설정 할 수 있 습 니 다.이런 상황 을 바탕 으로 우 리 는 命令行
을 통일 적 으로 이용 하여 배치 합 니 다.우선
commit
.Kitematic 왼쪽 하단 "DOCKER CLI"를 클릭 하여 실행:docker ps
다음 과 같은 출력:
➜ ~ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b357a78dc95e f753707788c5 "/bin/bash" 3 days ago Up 4 seconds 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:8080->8080/tcp, 0.0.0.0:8088->8088/tcp iwjwdocker
copy
출 container id
, 여 기 는 b357a78dc95e
입 니 다.그리고 실행:
docker commit b357a78dc95e username/imagename
다음 이미지 내 보 내기docker export b357a78dc95e -o ubuntu.tar
개인 목록 을 보십시오.mac 위 에
/Users/你的用户名
파일 을 찾 을 수 있 습 니 다.다음은 이 이미지 위 에 전체 설정 을 위 한 이미 지 를 새로 만 들 것 입 니 다.
6. 포트 맵 및 마 운 트 볼 륨 설정
설정 프로 세 스:
docker run -t -i --privileged -p 80:80/tcp \
-p 443:443/tcp -p 8088:8088/tcp \
-p 8000:8000/tcp -p 8080:8080/tcp -d --name iwjw \
-v /Users/aaaa/test:/static \
-v /Users/aaa/nginxconf:/etc/nginx/sites-enabled \
-v /Users/aaa/www:/www IMAGEID \
/bin/bash
위의 명령 행 을 설명 하 십시오.
ubuntu.tar
: docker 는 TCP 프로 토 콜 을 바탕 으로 80 포트 노출 -p 80:80/tcp
: Katematic 에 이 이미지 의 이름 을 표시 합 니 다 --name iwjw
iwjw
: 이 폴 더 를 docker 내 Ubuntu 시스템 의 -v /Users/aaaa/test:/static
폴 더 에 마 운 트 합 니 다.쉽게 말 하면 docker 명령 행 에 /Users/aaaa/test
폴 더 에 들 어가 서 홈 호스트 (본인 컴퓨터) 의 /static
폴 더 에 접근 할 수 있 습 니 다./static
이 폴 더 는 정적 자원 코드 를 저장 하 는 데 사 용 됩 니 다. 마 운 트 /Users/aaaa/test
는 설정 파일 을 작성 하 는 데 사 용 됩 니 다. 마 운 트 /Users/aaaa/test
는 자동화 스 크 립 트 80 포트 를 사용 하려 면
/Users/aaa/nginxconf
폴 더 에 있 는 nginx
파일 을 삭제 해 야 합 니 다. /Users/aaa/www
파일 에는 80 포트 에 대한 기본 설정 이 존재 합 니 다. (root 를 이용 한 설정)7. 자신의 프로젝트 에 따라 개성 화 된 설정 을 한다.
개인 설정:
sites-enabled
폴 더 에 넣 어 관리 하 는 것 을 고려 할 수 있 습 니 다.셸 스 크 립 트 는 다음 과 같 습 니 다:
function init() {
nginx
npm install gulp -g
npm install
}
# 打开命令行提示
echo " -aaainit 进入 aaa 文件夹,并初始化aaa项目"
echo " -aaa 进入 aaa 文件夹,并初始化aaa项目"
echo " -h 帮助"
while [ -n "$1" ]
do
case "$1" in
"-aaainit")
echo "进入 aaa 文件夹,并初始化运行 aaa 项目"
cd /static/aaa
init
npm run start
;;
"-aaa")
echo "进入 aaa 文件夹,并运行 aaa 项目"
cd /static/aaa
npm run start
;;
"-h")
echo " -aaainit 进入 aaa 文件夹,并初始化aaa项目"
echo " -aaa 进入 aaa 文件夹,并初始化aaa项目"
echo " -h 帮助"
;;
esac
shift
done
결어
기본적으로 위의 docker 설정 을 완성 하면 백 엔 드 는 전단 코드 의 분기 에서 자신의 인터페이스 테스트 를 할 수 있 습 니 다.
docker 를 도입 하면 앞 뒤 연결 시간 을 크게 줄 여 개발 진 도 를 가속 화 할 수 있다.
이 글 은 양 걸 이의 이 Docker 로 전단 개발 환경 을 빠르게 설정 해 개발 한 것 으로, 이 글 을 먼저 읽 어 보 는 것 을 권장 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Swarm의 도커 비밀이 게시물에서는 Redis를 사용한 실제 시나리오 예제를 제공하여 사용 방법을 보여주고자 합니다. Docker 기술에 대한 기본 지식 Docker Swarm 오케스트레이터에 대한 기본 지식 "Docker Swarm ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.