busyboxのnc
のスクリプトは最初 docker の alpine linux で動かしていて、うまく動作しなかったので、どうしたもんかと考えていた。実は素の alpine linux の nc は busybox で busybox の nc はオプションが違うみたい。
# nc --help BusyBox v1.28.4 (2018-05-30 10:45:57 UTC) multi-call binary. Usage: nc [OPTIONS] HOST PORT - connect nc [OPTIONS] -l -p PORT [HOST] [PORT] - listen -e PROG Run PROG after connect (must be last) -l Listen mode, for inbound connects -lk With -e, provides persistent server -p PORT Local port -s ADDR Local address -w SEC Timeout for connects and final net reads -i SEC Delay interval for lines sent -n Don't do DNS resolution -u UDP mode -v Verbose -o FILE Hex dump traffic -z Zero-I/O mode (scanning)
https://busybox.net/BusyBox.html#nc
なので
nc -lp 8123 >&${cotest[1]} <&${cotest[0]}
と -p オプションを使って、ポート番号を教えてあげる必要がある。
Docker compose
試してみた環境は以下の通り。docker-compose.yml
version: "2" services: bash-app: build: context: . dockerfile: Dockerfile-bash volumes: - ./home:/home ports: - "8123:8123" tty: true
Dockerfile-bash
FROM alpine:latest RUN apk add --update bash && rm -rf /var/cache/apk/*
0 件のコメント:
コメントを投稿