docker+alpine+cloud9로 가장 빠르고 가벼운 IDE 환경 준비
소개
이 기사에서는 docker를 사용하여 서버 측에서 움직이는 멋진 IDE, cloud9
를 쉽게 구축하고,
또한 alpine Linux를 사용하여 가능한 한 경량화하고 있습니다.
Cloud9를 모르는 분들을 위해
한마디로 서버 측 관리의 IDE입니다.
서버측에 정보가 있기 때문에
한마디로 서버 측 관리의 IDE입니다.
서버측에 정보가 있기 때문에
등이 가능합니다.
현재 AWS 환경에서 사용되는 것이 일반적입니다.
그러나 소스 코드가 github에 게시되어 있으므로 AWS 환경 이외의 환경에서도 사용할 수 있습니다.
결론
이것을 실행하십시오
commanddocker run --rm -d -v /path/to/workspace:/workspace -p 8080:8080 sshinya/alpine-cloud9
자격 증명을 바꿀 때는 여기
commanddocker run --rm -d -v /path/to/workspace:/workspace -p 8080:8080 -e USERNAME=user -e PASSWORD=pass sshinya/alpine-cloud9
docker-compose라고 이런 느낌
docker-compose.yml# This is sample file
services:
cloud9:
image: sshinya/alpine-cloud9
volumes:
- /path/to/workspace:/workspace
environment:
USERNAME: user
PASSWORD: pass
ports:
- "8080:8080"
이하, 해설·구축 순서
대상 OS
이번, 대상이 되는 Alpine Linux는 3.7을 사용하고 있습니다.
최신판은 3.8입니다만, 아무래도 구축에 실패해 버려 트러블 슈팅중입니다.
(원인을 알고 계시다면 댓글을 주시면 감사하겠습니다)
필요한 모듈
cloud9를 움직이는 모듈은 다음을 넣습니다.
Alpine이므로 apk add
를 사용하여 넣습니다.
(CentOS에서 말한다 yum
, Ubuntu에서 말한다 apt-get
)
docker run --rm -d -v /path/to/workspace:/workspace -p 8080:8080 sshinya/alpine-cloud9
docker run --rm -d -v /path/to/workspace:/workspace -p 8080:8080 -e USERNAME=user -e PASSWORD=pass sshinya/alpine-cloud9
# This is sample file
services:
cloud9:
image: sshinya/alpine-cloud9
volumes:
- /path/to/workspace:/workspace
environment:
USERNAME: user
PASSWORD: pass
ports:
- "8080:8080"
대상 OS
이번, 대상이 되는 Alpine Linux는 3.7을 사용하고 있습니다.
최신판은 3.8입니다만, 아무래도 구축에 실패해 버려 트러블 슈팅중입니다.
(원인을 알고 계시다면 댓글을 주시면 감사하겠습니다)
필요한 모듈
cloud9를 움직이는 모듈은 다음을 넣습니다.
Alpine이므로
apk add
를 사용하여 넣습니다.(CentOS에서 말한다
yum
, Ubuntu에서 말한다 apt-get
)기타 필요한 작업
# cloneしてくる
git clone https://github.com/c9/core.git /c9
# 公式環境構築用スクリプト実行
curl -s -L https://raw.githubusercontent.com/c9/install/master/link.sh | bash
# マウントポイント作成
mkdir -p /workspace
# インストール実行
cd /c9
./scripts/install-sdk.sh
Docker로 설정
workspace 영역(마운트 포인트) 등록
VOLUME ["/workspace"]
WORKDIR /workspace
액세스 할 포트 설정 (이번에는 우선 8080)
EXPOSE 8080
cloud9 런타임에 Basic 인증 ID/PASS 설정(기본값)
ENV USERNAME user
ENV PASSWORD pass
최종 Dockerfile
FROM alpine:3.7
LABEL maintainer "shinya"
RUN apk add --update --no-cache bash git nodejs make gcc g++ python curl wget build-base openssl-dev apache2-utils libxml2-dev sshfs tmux supervisor \
&& rm -f /var/cache/apk/* \
&& git clone https://github.com/c9/core.git /c9 \
&& curl -s -L https://raw.githubusercontent.com/c9/install/master/link.sh | bash \
&& mkdir -p /workspace \
&& cd /c9 \
&& ./scripts/install-sdk.sh
VOLUME ["/workspace"]
WORKDIR /workspace
EXPOSE 8080
ENV USERNAME user
ENV PASSWORD pass
ENTRYPOINT ["sh", "-c", "/usr/bin/node /c9/server.js -l 0.0.0.0 -p 8080 -w /workspace -a $USERNAME:$PASSWORD"]
여기에 Dockerfile 넣어.
shinya/alpine-cloud9
그리고는 실행하면, IDE 환경이 한층 올라!
실제 화면
부팅에 성공하면 액세스하면 먼저 인증 화면이 나옵니다.
인증이 지나면 기동 화면이 되어・・・・
잠시 후 "Welcome"화면으로 전환
그리고는, 엔지니어 영혼을 부딪치면서, 코딩할 수 있어!
덤
개인적으로 Go 언어를 공부하는 환경을 원했기 때문에 Go 대응 버전도 만들었습니다.
Cloud9에서 Run 버튼을 눌러 컴파일 할 수 있습니다.
commanddocker run --rm -d -v /path/to/workspace:/workspace -p 8080:8080 sshinya/alpine-cloud9:golang
Go 언어 버전 Dockerfile 자세히
Alpine이 Go 언어 버전으로 되어 있는 것과 환경 변수를 설정하고 있는 것이 다른 점입니다.
FROM golang:alpine3.7
LABEL maintainer "shinya"
RUN apk add --update --no-cache bash git nodejs make gcc g++ python curl wget build-base openssl-dev apache2-utils libxml2-dev sshfs tmux supervisor \
&& rm -f /var/cache/apk/* \
&& git clone https://github.com/c9/core.git /c9 \
&& curl -s -L https://raw.githubusercontent.com/c9/install/master/link.sh | bash \
&& mkdir -p /workspace \
&& cd /c9 \
&& ./scripts/install-sdk.sh
VOLUME ["/workspace"]
WORKDIR /workspace
# Expose ports.
EXPOSE 8080
ENV USERNAME user
ENV PASSWORD pass
ADD env /root/.bashrc
ADD env /root/.profile
ENTRYPOINT ["sh", "-c", "/usr/bin/node /c9/server.js -l 0.0.0.0 -p 8080 -w /workspace -a $USERNAME:$PASSWORD"]
env 내용PATH=$GOPATH/bin:/usr/local/go/bin:$PATH
결론
이제 IDE를 PC에 설치하는 시대는 끝났을지도 모릅니다.
지금부터는 서버 사이드 IDE를 꼭 사용해보세요!
Reference
이 문제에 관하여(docker+alpine+cloud9로 가장 빠르고 가벼운 IDE 환경 준비), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ssaita/items/17d78d6a9449dcb5c7b4
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
개인적으로 Go 언어를 공부하는 환경을 원했기 때문에 Go 대응 버전도 만들었습니다.
Cloud9에서 Run 버튼을 눌러 컴파일 할 수 있습니다.
command
docker run --rm -d -v /path/to/workspace:/workspace -p 8080:8080 sshinya/alpine-cloud9:golang
Go 언어 버전 Dockerfile 자세히
Alpine이 Go 언어 버전으로 되어 있는 것과 환경 변수를 설정하고 있는 것이 다른 점입니다.
FROM golang:alpine3.7
LABEL maintainer "shinya"
RUN apk add --update --no-cache bash git nodejs make gcc g++ python curl wget build-base openssl-dev apache2-utils libxml2-dev sshfs tmux supervisor \
&& rm -f /var/cache/apk/* \
&& git clone https://github.com/c9/core.git /c9 \
&& curl -s -L https://raw.githubusercontent.com/c9/install/master/link.sh | bash \
&& mkdir -p /workspace \
&& cd /c9 \
&& ./scripts/install-sdk.sh
VOLUME ["/workspace"]
WORKDIR /workspace
# Expose ports.
EXPOSE 8080
ENV USERNAME user
ENV PASSWORD pass
ADD env /root/.bashrc
ADD env /root/.profile
ENTRYPOINT ["sh", "-c", "/usr/bin/node /c9/server.js -l 0.0.0.0 -p 8080 -w /workspace -a $USERNAME:$PASSWORD"]
env 내용
PATH=$GOPATH/bin:/usr/local/go/bin:$PATH
결론
이제 IDE를 PC에 설치하는 시대는 끝났을지도 모릅니다.
지금부터는 서버 사이드 IDE를 꼭 사용해보세요!
Reference
이 문제에 관하여(docker+alpine+cloud9로 가장 빠르고 가벼운 IDE 환경 준비), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ssaita/items/17d78d6a9449dcb5c7b4
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(docker+alpine+cloud9로 가장 빠르고 가벼운 IDE 환경 준비), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ssaita/items/17d78d6a9449dcb5c7b4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)