Skip to content

docker

host.docker.internalとlinux

Docker Desktopでは、host.docker.internalで母艦のIPアドレスが参照できるようになっているのだけど、Docker DesktopではないLinux環境だと使えない。 で、とりあえず172.17.0.1でやってたりするのだけど、これだとうまくいかないときがあるっぽい。 推測調なのは、まだ Read more

AdminerのOracle対応

昨日はとりあえず動くところまでできたので、Dockerfileを整えてみた。 https://github.com/umemak/docker-adminer/blob/master/4/Dockerfile イメージサイズ800MB弱。 もっとスリム化できないかな。

AdminerのOracle対応

昨日の続き。 とりあえず接続してテーブル一覧作ったりテーブル作成したりできた。 Docker + Laravel + Oracleの開発環境の構築方法が参考になった。

AdminerのOracle対応

Adminer - Database management in a single PHP fileのDockerイメージAdminer - Official Image | Docker Hubは、Oracle接続に必要なモジュールが入っていない。 PHP: インストール/設定 - Manualによると、Instant Client for Linux x86-64 (64-bit)のBasicと、oci8が必要らしい。 DockerfileはOfficial Imageの Read more

OracleにGoで接続する3

昨日は、mattn/go-oci8: Oracle driver for Go using database/sqlとsijms/go-ora: Pure go oracle clientを使ったサンプルをコンテナ上でgo runして動かしていた。 今日はgo buildでバイナリにして実行できるようにしてみる。 何もオプション付けずにビルドしたら、どちらも問題なし。 バイナリサ Read more

OracleサーバーのDockerイメージ

docker-images/OracleDatabase/SingleInstance at main · oracle/docker-imagesはクライアント側みたいにビルド済みイメージが用意されていないのかな、と思ったらOracle Container Registryにそれらしいものを見つけた。 Home > Database > express $ docker pull container-registry.oracle.com/database/express:latest サイズやばい $ docker images | grep ora oraclelinux 8 3bbe8a2c4b82 9 days ago 226MB oraclelinux 8-slim 1fcc1e6dda05 3 weeks ago 101MB container-registry.oracle.com/database/express latest e986fd612413 2 months ago 11.2GB $ docker run -d container-registry.oracle.com/database/express $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES Read more

OracleにGoで接続する

前の記事でsqlplusで接続できたので、Goのプログラムから接続してみる。 instantclientベースでGoをインストールするDockerfile作成 FROM ghcr.io/oracle/oraclelinux8-instantclient:21 RUN yum install -y wget tar RUN wget https://go.dev/dl/go1.18.3.linux-amd64.tar.gz RUN rm -rf /usr/local/go && tar -C /usr/local -xzf go1.18.3.linux-amd64.tar.gz ENV PATH="${PATH}:/usr/local/go/bin" CMD [ "go", "version" ] docker-composeもそれを使うように修正 version: '3' services: db: image: container-registry.oracle.com/database/express ports: - 1521:1521 environment: - ORACLE_PWD=OraclePwd cli: build: . image: oraclegocli tty: true Read more

OracleにGoで接続する2

mattn/go-oci8: Oracle driver for Go using database/sqlでやってみる。 sh-4.4# go run go-oci8/main.go # pkg-config --cflags -- oci8 pkg-config: exec: "pkg-config": executable file not found in $PATH sh-4.4# yum install -y pkgconfig sh-4.4# go run go-oci8/main.go # pkg-config --cflags -- oci8 Package oci8 was not found in the pkg-config search path. Perhaps you should add the directory containing `oci8.pc' to the PKG_CONFIG_PATH environment variable Package 'oci8', required by 'virtual:world', not found pkg-config: exit status 1 とりあえずmain.goと同じところにoci8.pcを作成。中身はExamples。 sh-4.4# export PKG_CONFIG_PATH=. sh-4.4# go run go-oci8/main.go # github.com/mattn/go-oci8 cgo: C compiler "gcc" not found: exec: "gcc": Read more

OracleのDockerイメージ

oracle/docker-images: Official source for Docker configurations, images, and examples of Dockerfiles for Oracle products and projects にまとめられている。 サーバー側:docker-images/OracleDatabase at main · oracle/docker-images クライアント側:docker-images/OracleInstantClient at main · oracle/docker-images ベースイメージはOraclelinux - Official Image | Docker Hubが使われている(結構でかい) Read more