도커 이미지 옮기기
docker hub를 이용하지 않고, docker image를 배포하기 위해서는 기존 docker image를 복제하여 remote 서버에서 사용할 수 있어야 한다. 이를 위해서 docker는 3가지 방법을 제공하고 있는데, 각각의 특징 및 활용방법을 확인해 본다.
[Save]
1. 특징
– 원본 image를 그대로 복제하여 file로 export
2. 활용
– 인터넷 접속이 어려운 상황에서 image를 직접 배포하는 용도
– import, commit과 차이 없음
3. example
> docker save ubuntu | gzip > ubuntu-golden.tar.gz
> zcat ubuntu-golden.tar.gz | docker load
[export]
1. 특징
– 현재 구동중인 container의 상태(파일/폴더추가, log 등)를 그대로 복제
– 원본 image와 다른 현재 운영상태를 image로 export
2. 활용
– 현재 운영상태를 그대로 유지하여 container를 확장하는 경우
3. 고려사항
– Dockerfile이 유지되지 않아, 새로운 설정을 추가하기 어려움.
4. example
> docker export <containerid> | gzip > mariadb-10-1.tar.gz
> zcat mariadb-10-1.tar.gz | docker import – mariadb:10.1
5. Troubleshooting
– export -> import -> docker run을 실행하면, 아래 에러 발생 “docker: Error response from daemon: No command specified.”
– export는 변경된 filesystem만 export하지, Dockerfile의 ENV, CMD, ENTRYPOINT등을 반영하지 못함.
– 해결
* save 명령어를 사용
* import시에 실행할 명령어를 옵션으로 추가할 수 있으나, save -> load를 이용하여 처리하는 것이 안정적일 것 같다.
[commit]
1. 특징
– 실행중인 container를 image로 저장
– export와 다른 점은 실행결과가 새로운 image를 생성하는 것.
– save/export는 모두 image를 file로 생성.
– 새로운 image를 생성하면서 -c 옵션으로 CMD, ENV등의 명령어를 적용할 수 있음.
2. 활용
– 일반적인 상황에서는 대부분 export를 많이 사용.
– commit은 임시 container에서 작업한 내용을 다른 곳에서 활용하고자 할때, 작업 내용이 사라지지 않도록 image로 저장하는 용도? (추측..)
3. example
> docker commit –change “ENV DEBUG true” c3f279d17e0a svendowideit/testimage:version3
[출처] [docker] import vs save vs commit|작성자 freepsw
화상회의-jitsi 설치
- 참고사이트
- 설치방법
- 소스 다운로드
- sudo git clone https://github.com/jitsi/docker-jitsi-meet && cd docker-jitsi-meet
- .env 파일 생성 및 패스워드 셋팅
- sudo cp env.example .env
- sudo ./gen-passwords.sh
- config 폴더 생성
- sudo mkdir -p /data1/jitsi/docker-jitsi-meet/.jitsi-meet-cfg/{web/letsencrypt,transcripts,prosody/config,prosody/prosody-plugins-custom,jicofo,jvb,jigasi,jibri}
- SSL 복사
- sudo mkdir -p .jitsi-meet-cfg/web/keys/
- sudo cp -p /etc/apache2/ssl/ectech.co.kr_202003113US6.crt.pem .jitsi-meet-cfg/web/keys/cert.crt
- sudo cp -p /etc/apache2/ssl/ectech.co.kr_202003113US6.key.pem .jitsi-meet-cfg/web/keys/cert.key
- .env 환경 파일 편집
HTTP_PORT=31080HTTPS_PORT=31443TZ=Asia/SeoulPUBLIC_URL=https://ectech.co.kr:31001- CONFIG=설치위치/docker-jitsi-meet/.jitsi-meet-cfg
- ENABLE_AUTH=1 # 아무나 방을 만들지 않도록 인증 처리
- ENABLE_GUESTS=1 # 손님도 개설된 방에 들어올 수 있도록 처리
- AUTH_TYPE=internal # 원하는 인증방법을 등록 (internal : 아래 사용자 등록방법 있음, ldap)
- 소스 다운로드
- 방화벽 오픈
- 10000 UDP – for general network video/audio communications
- 3478 UDP – for quering the stun server (coturn, optional, needs config.js change to enable it)
- 5347 TCP – for fallback network video/audio communications over TCP (when UDP is blocked for example), served by coturn
- 실행
- # 기본
- docker-compose up -d
- # 문서 공유 및 편집
- docker-compose -f docker-compose.yml -f etherpad.yml up
- # jisi 포함
- docker-compose -f docker-compose.yml -f jigasi.yml -f jibri.yml up
- # 기본
- 접속
- https://도메인:31443
- 기타
- 사용자 등록
- docker exec -it dockerjitsimeet_prosody_1 /bin/bash
- prosodyctl –config /config/prosody.cfg.lua register 아이디meet.jitsi 비밀번호
- 설정 변경 파일들..
- 설치위치 하위
- .env
- /.jitsi-meet-cfg/web/
- config.js
- interface_config.js
- 설치위치 하위
- 튜닝
- 사용자 등록
Rocket Chat 설치
slacks 와 같은 rocket chat 설치방법
rocket chat 설치 : https://sub0709.tistory.com/65
mongodb 설치 : https://sub0709.tistory.com/96?category=864417
특이사항으로는, mongo_url, mongo_oplog_url 에서는 내부아이피 및 특정포트를 사용했고, root_url은 localhost:3000 을 사용하였음
설치 후, 로그를 모니터링하면 1-2분 후 성공 로그가 나오며, 이후 로그인/설정이 가능함
설치 후, 역방향프록시설정으로 url을 정의하고 앱에서 접속을 시도하면 websocket 에러가 난다. 이때는 역방향프록시 설정에서 사용자지정머리글에서 생성 > websocket 을 생성한 후 저장하면 성공할 수 있다.
음악 스트리밍 서버 설정 (airsonic)
음악 스트리밍 서버 설정 (airsonic) 은 아래 사이트 참조할 것. 아직 클라이언트 적용 안함
- 기타
- 메모리를 많이 사용함 : 메모리 제한 할 것
- ds audio 에 비해 뛰어난 점 확인 안됨
설치 참조 : https://www.clien.net/service/board/cm_nas/12936988?od=T31&po=0&category=&groupCd=
youtube-dl 설치
youtube-dl 는 유튜브 동영상을 다운로드하는 도커 이미지입니다.
Guacamole 설치
웹에서 PC의 RDP방식 접속을 지원하는 서버 프로그램이다.
JDownloader 설치
jDownloader는 유튜브와 같은 인터넷 동영상을 다운로드할 수 있는 프로그램입니다.
nas 인터넷 속도 측정법
HomeAssistant
- 참조 : https://investigate.tistory.com/51
- SmartThings (IoT?) 제어