https://docs.docker.com/network/host/
호스트에 생성하려면 브릿지랑은 다르게
docker network create 로 생성하지 않는다.
host는 하나의 IP 이기 떄문이다.
따라서 컨테이너 생성할때 고정ip도 불가능
예를 들어 포트 80에 바인딩하는 컨테이너를 실행하고 host 네트워킹을 사용하는 경우 컨테이너의 애플리케이션은 호스트 IP 주소의 포트 80에서 사용할 수 있습니다.
ex)
1
docker run -d --name emqx_이름 --net 지정네트워크 --ip 172.19.0.2 --restart=always \
-p !@!~$!@#&*^$(*@!&asdasd
이게 에러 나는 이유가
docker run -d --name emqx_host_이름 --net=host --restart=always \
-p !@!~$!@#&*^$(*@!&asdasd
이런식으로 바꿔줘야함
--net=호스트
로바꿔주고
고정 IP 는 불가능하니 옵션에서 뺀다.
2
그리고
docker run -d --name emqx_host_이름 --net=host --restart=always \
-p !@!~$!@#&*^$(*@!&asdasd
여기서
-p !@!~$!@#&*^$(*@!&asdasd
여기부분에
여러 파라미터 제어하는 부분들이 있는데
가상환경이기 떄문에 가능한 파라미터 옵션들이 있다.
이 부분들을 다 이해하고 뺼꺼 뺴고 넣을거 넣어줘야함.
파라미터 예시
0docker run -d --name emqx_host_이름 --net=host --restart=always \
1-p 18083:18083 -p 1883:1883 -p 8083:8083 -p 8084:8084 -p 8883:8883 \
2-e EMQX_LOADED_PLUGINS="emqx_management, emqx_recon, emqx_retainer, emqx_dashboard, emqx_auth_username" \
3-e EMQX_LISTENER__TCP__EXTERNAL=1883 \
4-e EMQX_MQTT__MAX_PACKET_SIZE=1MB \
5-e EMQX_ALLOW_ANONYMOUS=false \
6-e EMQX_AUTH__USER__PASSWORD_HASH=plain \
7-e EMQX_AUTH__USER__1__USERNAME="유저아이디" \
8-e EMQX_AUTH__USER__1__PASSWORD="비밀번호" \
9-e EMQX_DASHBOARD__DEFAULT_USER__LOGIN="유저아이디" \
10-e EMQX_DASHBOARD__DEFAULT_USER__PASSWORD="비밀번호" \
11-e EMQX_LOG__LEVEL=warning \
12--sysctl net.core.somaxconn=32768 \
13--sysctl net.ipv4.tcp_max_syn_backlog=16384 \
14--sysctl net.ipv4.tcp_rmem="1024 4096 16777216" \
15--sysctl net.ipv4.tcp_max_tw_buckets=1048576 \
16--sysctl net.ipv4.tcp_fin_timeout=15 \
17emqx/emqx:4.2.9
옵션 이해하려면
-------------------------------------------------
접두사 EMQX_가 제거됨
모든 대문자는 소문자로 대체됩니다
__로 대체됩니다.
-------------------------------------------------
이 문법대로 알면됨
ex) EMQX_I_AM_LIAM=true => I.AM.LIAM=true
1 포트번호지정 , 18083 은 대시보드 , 1883이 통신할 포트 번호, 등등 나머진 찾아보삼
2 EMQX의 플러그인 뭐쓸지
3 EMQX
4 EMQX 패킷최대사이즈
5 EMQX 모르는 접근 불 허용
6 EMQX 유저 패스워드 해시 암호화 0
7 EMQX 유저 접근가능 이름 유저아이디
8 EMQX 유저 접근가능 비번 비밀번호
9 EMQX 대시보드 유저 로그인 유저아이디
10 EMQX 대시보드 유저 비번 비밀번호
11 EMQX 로그레벨 warning
12 listen() 시스템 콜의 매개변수로 설정하는 backlog값의 hard limit 이다.
13 SYN_RECEIVED 상태의 소켓(즉, connection incompleted)을 위한 queue
14 memory pressure의 threshold 값
15 시스템이 가질 수 있는 TIME_WAIT 상태 소켓 개수 제한
16 FIN_WAIT2 상태에 있는 보유 시간 설정 (15초)
17 vmware로 따지면 ISO 이미지 뭐쓸지
'협업툴,가상환경 정리 > docker_정리' 카테고리의 다른 글
7_docker 명령어 정리 (전체적으로) (0) | 2022.07.08 |
---|---|
5_docker 기본 명령어 정리 (이미지 삭제,종료,빌드, 런, 접속까지 + docker network 생성 + 로그확인) (0) | 2022.06.02 |
6_Dockerfile 코드 읽기~ 씡씡씡 (0) | 2022.06.02 |
3_도커컨테이너 구성_tutorial + (네트워크 DRIVER개념) (0) | 2022.04.21 |
1_Docker이미지 만들기 + 도커컨테이너생성( 도커허브(nginx ) ) test (0) | 2022.04.19 |
댓글