Azure AppService의 Ruby 이미지에서 tiny_tds를 사용할 수 없음

개요



타이틀대로입니다만, Azure의 Appservice에서 사용할 수 있는 Ruby의 디폴트 이미지라고 freeTDS의 버전이 낡기 때문에,
tiny_tds를 사용하여 SQLServer에 연결할 수 없습니다.

대처법



Appservice 콘솔 등에서는 대처 불가, 자전의 컨테이너 이미지 사용합시다.
루비의 기본 이미지 인 github에 PR이 올라가는 것처럼 보이지만 아직 처리되지 않았습니다.
이것이 병합되면 사용할 수 있을까?
htps : // 기주 b. 코 m / 아즈레 - 아 p-se r

이하, 여러가지 검증해 본 것.

AppService 컨테이너를 로컬로 사용해보기



여러가지 조사하면 docker 이미지가 공개되고 있다.
htps : // 기주 b. 코 m/아즈레-아 p-세 rゔぃ세/루 by
(DockerHub에도 있음)

이것을 사용해 여러가지.

여기 로컬로 사용하는 방법이 있었기 때문에 그것을 실행.
htps : // 기주 b. 코 m/아즈레-아 p-세 rゔぃ세/테아 mbぉg/bぉb/마s r/도 cs/눈꺼풀 s. md
docker pull appsvc/<ImageTag>

docker run \
    -d -it -P \
    --volume $(pwd):/home/site/wwwroot \
    --env PORT=8080 \
    --publish 8080:8080 \
    appsvc/<ImageTag> 

curl localhost:8080

docker exec -it <container> bash

이것으로 일단은 움직인다. (별로 rails 앱의 위치가 아니더라도 괜찮아 보인다)
그리고 localhost:8080 를 두드리면 AppService의 친숙한 화면이 나온다.

Bad Request

여기에서 bash로 컨테이너에 들어가서 여러가지 확인.
$ apt show freetds-bin
Package: freetds-bin
Source: freetds (0.91-6)
Version: 0.91-6+b1
Installed-Size: 750 kB
Maintainer: Steve Langasek <[email protected]>
Depends: libc6 (>= 2.17), libgnutls-deb0-28 (>= 3.2.10-0),
libgssapi-krb5-2 (>= 1.10+dfsg~), libodbc1 (>= 2.3.1), libreadline6 (>= 6.0), libsybdb5 (>= 0.82),
libtinfo5, freetds-common
Homepage: http://www.freetds.org/
Tag: interface::commandline, role::program
Section: database
Priority: optional
Download-Size: 217 kB
APT-Manual-Installed: yes
APT-Sources: http://deb.debian.org/debian/ jessie/main amd64 Packages
Description: FreeTDS command-line utilities

(freetds-dev도 비슷한 느낌.)
그래서 0.91의 freets가 들어있다. 그러나 최근 tiny_tds에서는 Do you have FreeTDS 0.95.80 or higher installed?라든지 말해진다.
tiny_tds의 버전을 떨어뜨리면 들어갈지도 모르지만, 0.91에 대응하고 있는 버전을 찾아내는 것이 힘들기 때문에 여기에서 중단.

그건 그렇고, bash로 들어갈 때, gem은 여기에 있습니다./usr/local/.rbenv/versions/2.6.2/bin (Ruby 버전 대체)

마지막으로



빨리 병합해 주었으면 한다.

좋은 웹페이지 즐겨찾기