도커 이미지 공식 유입 지체 확장 _file 환경 변수와 함께 Docker 비밀과 호환됩니다.
이 이미지는 부모 이미지의 문서에서 설명한대로 정확하게 작동합니다. 유일한 차이점은 모든 암호 환경 변수의 경우 해당 비밀번호 _file 환경 변수가 있으며, 이는 이미 설정되지 않으면 부모의 값을 읽기 위해 파일을 결정하는 데 사용됩니다.
아래 부모의 이미지 설명.
InfluxDB는 높은 쓰기 및 쿼리로드를 처리하기 위해 처음부터 구축 된 시계열 데이터베이스입니다. InfluxDB는 DevOps 모니터링, 애플리케이션 메트릭, IoT 센서 데이터 및 실시간 분석을 포함하여 대량의 타임 스탬프 데이터와 관련된 모든 사용 사례에 대한 지원 저장소로 사용됩니다.
influxDB 문서
InfluxDB 이미지는 /var/lib/influxdb
에서 공유 볼륨을 노출 시키므로 해당 지점에 호스트 디렉토리를 마운트하여 지속 된 컨테이너 데이터에 액세스 할 수 있습니다. 컨테이너의 일반적인 호출은 다음과 같습니다.
$ docker run -p 8086:8086
-v $PWD:/var/lib/influxdb
influxdb
InfluxDB 컨테이너와 관련된 데이터를 저장하려는 디렉토리로 $PWD
수정하십시오.
또한 이름이 지정된 볼륨을 사용하여 Docker가 볼륨 MountPoint를 제어 할 수 있습니다.
$ docker run -p 8086:8086
-v influxdb:/var/lib/influxdb
influxdb
다음 포트는 중요하며 InfluxDB에서 사용합니다.
docker run -P
사용할 때 HTTP API 포트가 자동으로 노출됩니다.
docker run -P
사용할 때 관리자 인터페이스가 자동으로 노출되지 않으며 기본적으로 비활성화됩니다. Adminstrator 인터페이스는 웹 브라우저가 웹 브라우저에서 컨테이너의 동일한 포트에서 influxDB에 액세스 할 수 있어야합니다. -P
random 포트의 HTTP 포트를 호스트에 노출 시키므로 관리자 인터페이스는이 설정과 호환되지 않습니다.
관리자 인터페이스는 1.1.0 기준으로 더 이상 사용되지 않으며 1.3.0에서 제거됩니다.
API 엔드 포인트 및 포트에 대한 자세한 내용은 여기를 참조하십시오.
InfluxDB는 구성 파일에서 구성하거나 환경 변수를 사용하여 구성 할 수 있습니다. 구성 파일을 마련하고 서버와 함께 사용하려면이 명령을 사용할 수 있습니다.
기본 구성 파일 생성 :
$ docker run --rm influxdb influxd config > influxdb.conf
$PWD
에서 사용할 수있는 기본 구성을 수정하십시오. 그런 다음 유입 컨테이너를 시작하십시오.
$ docker run -p 8086:8086
-v $PWD/influxdb.conf:/etc/influxdb/influxdb.conf:ro
influxdb -config /etc/influxdb/influxdb.conf
구성 파일을 저장하려는 디렉토리로 $PWD
수정하십시오.
환경 변수의 경우 형식은 INFLUXDB_$SECTION_$NAME
입니다. 모든 대시 ( -
)는 밑줄 ( _
)으로 대체됩니다. 변수가 섹션에 없으면 해당 부분을 생략하십시오.
예 :
INFLUXDB_REPORTING_DISABLED=true
INFLUXDB_META_DIR=/path/to/metadir
INFLUXDB_DATA_QUERY_LOG_ENABLED=false
InfluxDB 구성에 대한 자세한 내용은 여기를 참조하십시오
InfluxDB는 흑연 라인 프로토콜을 지원하지만 서비스 및 포트는 기본적으로 노출되지 않습니다. 흑연 지원이 활성화 된 상태에서 influxDB를 실행하려면 구성 파일을 사용하거나 적절한 환경 변수를 설정할 수 있습니다. 기본 흑연 구성으로 influxDB를 실행하십시오.
docker run -p 8086:8086 -p 2003:2003
-e INFLUXDB_GRAPHITE_ENABLED=true
influxdb
흑연 서비스를 설정하려면 자세한 내용은 Github의 ReadMe를 참조하십시오. 흑연 템플릿을 활용하려면 위의 단계를 사용하여 기본 구성 파일을 출력하고 [[graphite]]
섹션을 수정하여 구성 파일을 사용해야합니다.
관리자 인터페이스는 1.1.0 기준으로 더 이상 사용되지 않으며 1.3.0에서 제거됩니다. 기본적으로 비활성화됩니다. 필요한 경우 아래와 같은 환경 변수를 설정하여 여전히 활성화 할 수 있습니다.
docker run -p 8086:8086 -p 8083:8083
-e INFLUXDB_ADMIN_ENABLED=true
influxdb
관리자 인터페이스를 사용하려면 HTTP API와 관리자 인터페이스 API를 모두 동일한 포트로 전달해야합니다.
MyDB라는 DB 생성 :
$ curl -G http://localhost:8086/query --data-urlencode " q=CREATE DATABASE mydb "
DB에 삽입 :
$ curl -i -XPOST ' http://localhost:8086/write?db=mydb ' --data-binary ' cpu_load_short,host=server01,region=us-west value=0.64 1434055562000000000 '
이에 대해 공식 문서에서 자세히 알아보십시오
컨테이너 시작 :
$ docker run --name=influxdb -d -p 8086:8086 influxdb
다른 컨테이너에서 유입 클라이언트를 실행하십시오.
$ docker run --rm --link=influxdb -it influxdb influx -host influxdb
현재 docker exec
TTY를 올바르게 할당하지 않기 때문에 docker exec
사용하여 유입 클라이언트를 실행할 수 없습니다. 이것은 Docker/Docker#8755에 자세히 설명 된 Docker의 현재 버그 때문입니다.
infusdb 이미지에는 데이터베이스를 초기화하기위한 몇 가지 추가 기능이 포함되어 있습니다. 이러한 옵션은 생산을 위해 제안되지 않지만 테스트를 위해 독립형 인스턴스를 실행할 때 매우 유용합니다.
데이터베이스 초기화 스크립트는 influxd
실행할 때만 호출됩니다. 다른 프로그램을 실행할 때는 실행되지 않습니다.
InfluxDB 이미지는 여러 환경 변수를 사용하여 서버의 특정 부분을 자동으로 구성합니다. 이 이미지를 사용하는 데 크게 도움이 될 수 있습니다.
이 환경 변수의 이름으로 데이터베이스를 자동으로 초기화합니다.
인증을 활성화합니다. 이를 설정하거나 auth-enabled = true
아래의 인증 관련 옵션에 대해 구성 파일 내에서 설정해야합니다.
생성 될 관리자 사용자의 이름. 이것이 설정되지 않은 경우 관리자 사용자가 생성되지 않습니다.
INFLUXDB_ADMIN_USER
로 구성된 관리자 사용자의 비밀번호. 이것이 설정되지 않은 경우 임의 암호가 생성되어 표준으로 인쇄됩니다.
특권없이 생성 할 사용자의 이름. INFLUXDB_DB
설정되면이 사용자에게 해당 데이터베이스에 대한 읽기 및 쓰기 권한이 부여됩니다.
INFLUXDB_USER
로 구성된 사용자의 비밀번호. 이것이 설정되지 않은 경우 임의 암호가 생성되어 표준으로 인쇄됩니다.
INFLUXDB_DB
에서 읽기 권한으로 생성 할 사용자의 이름. INFLUXDB_DB
설정되지 않은 경우이 사용자는 허가 된 권한이 없습니다.
INFLUXDB_READ_USER
로 구성된 사용자의 비밀번호. 이것이 설정되지 않은 경우 임의 암호가 생성되어 표준으로 인쇄됩니다.
INFLUXDB_DB
에서 쓰기 권한으로 생성 할 사용자의 이름. INFLUXDB_DB
설정되지 않은 경우이 사용자는 허가 된 권한이 없습니다.
INFLUXDB_WRITE_USER
로 구성된 사용자의 비밀번호. 이것이 설정되지 않은 경우 임의 암호가 생성되어 표준으로 인쇄됩니다.
Docker 이미지가 /docker-entrypoint-initdb.d
폴더 내부의 확장자 .sh
또는 .iql
이있는 파일을 찾으면이를 실행합니다. 그들이 실행 된 순서는 쉘에 의해 결정됩니다. 이것은 일반적으로 알파벳 순서입니다.
데이터베이스를 수동으로 초기화하고 종료하려면 /init-influxdb.sh
스크립트를 직접 사용할 수 있습니다. influxd run
명령과 동일한 매개 변수가 필요합니다. 예를 들어 :
$ docker run --rm
-e INFLUXDB_DB=db0 -e INFLUXDB_ADMIN_ENABLED=true
-e INFLUXDB_ADMIN_USER=admin -e INFLUXDB_ADMIN_USER=supersecretpassword
-e INFLUXDB_USER=telegraf -e INFLUXDB_USER_PASSWORD=secretpassword
-v $PWD:/var/lib/influxdb
/init-influxdb.sh
위의 내용은 데이터베이스 db0
생성하고 암호 supersecretpassword
로 관리자 사용자를 생성 한 다음 Telegraf의 비밀 암호로 telegraf
사용자를 만듭니다. 그런 다음 나가서 장착 한 볼륨에서 생성 된 파일 뒤에 남겨 둡니다.
influxdb
이미지는 각각 특정 사용 사례를 위해 설계된 많은 맛으로 제공됩니다.
influxdb:<version>
이것이 Defacto 이미지입니다. 당신이 당신의 요구가 무엇인지 확실하지 않다면 아마도 이것을 사용하고 싶을 것입니다. 이 제품은 Throw Away 컨테이너 (소스 코드를 장착하고 컨테이너를 시작하여 앱을 시작)로 사용하도록 설계되었으며 다른 이미지를 만들기위한베이스.
influxdb:alpine
이 이미지는 alpine
공식 이미지에서 사용 가능한 인기있는 알파인 리눅스 프로젝트를 기반으로합니다. 알파인 리눅스는 대부분의 분포베이스 이미지 (~ 5MB)보다 훨씬 작으므로 일반적으로 더 얇은 이미지로 이어집니다.
이 변형은 최종 이미지 크기가 가능한 한 작을 때 권장됩니다. 주목해야 할 주요 경고는 GLIBC 및 친구 대신 Musl LIBC를 사용하므로 특정 소프트웨어가 LIBC 요구 사항의 깊이에 따라 문제가 발생할 수 있다는 것입니다. 그러나 대부분의 소프트웨어에는 문제가 없으므로이 변형은 일반적으로 매우 안전한 선택입니다. 발생할 수있는 문제와 알파인 기반 이미지 사용에 대한 프로/사기 비교에 대한 자세한 내용은이 해커 뉴스 코멘트 스레드를 참조하십시오.
이미지 크기를 최소화하기 위해 추가 관련 도구 (예 : git
또는 bash
)가 알파인 기반 이미지에 포함되는 것은 드문 일입니다. 이 이미지를 기본으로 사용하여 자신의 dockerfile에 필요한 것들을 추가하십시오 (익숙하지 않은 경우 패키지를 설치하는 방법의 예는 alpine
이미지 설명을 참조하십시오).
이 이미지에 포함 된 소프트웨어에 대한 라이센스 정보를 봅니다.
모든 Docker 이미지와 마찬가지로, 여기에는 다른 라이센스 (예 : 기본 배포 등의 Bash 등과 같은 기본 소프트웨어의 직접 또는 간접 종속성)에 따라 다른 소프트웨어가 포함되어있을 수 있습니다.
자동 감지 할 수있는 일부 추가 라이센스 정보는 repo-info
저장소의 influxdb/
Directory에서 찾을 수 있습니다.
사전 구축 된 이미지 사용법은이 이미지의 사용이 포함 된 모든 소프트웨어의 관련 라이센스를 준수하는지 확인하는 것이 이미지 사용자의 책임입니다.