Oh!Super164 取り留めのない日記のような

2025/2/21 金曜日

emscripten #2

Filed under: プログラミング,備忘録 — pecos @ 23:51:23

ここを参考に、sshで直接コンテナに入れるように改良。vscodeにDWARF pluginを入れてリモートでコンテナに入りデバッグするとCのソースコードレベルでブレークポイントが効くようになった。

FROM ubuntu:24.04
RUN apt update \
 && apt -y upgrade \
 && apt clean && rm -rf /var/lib/apt/lists/*
RUN apt update \
 && apt -y install tzdata \
 && apt clean && rm -rf /var/lib/apt/lists/*
ENV TZ=Asia/Tokyo
RUN apt update \
 && apt -y install --no-install-recommends build-essential \
 && apt clean && rm -rf /var/lib/apt/lists/*
RUN apt update \
 && apt -y install git cmake wget python3 openssh-server vim \
 && apt clean && rm -rf /var/lib/apt/lists/*
# emscripten ##########################
ARG EMSDKDIR=/opt/emsdk
RUN git clone https://github.com/emscripten-core/emsdk.git ${EMSDKDIR}
RUN cd ${EMSDKDIR} \
 && ./emsdk install latest \
 && ./emsdk activate latest
RUN echo "source ${EMSDKDIR}/emsdk_env.sh" >> ~/.bash_profile
# sshd ################################
RUN mkdir -p /var/run/sshd
RUN echo 'root:password' | chpasswd
RUN sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
RUN sed -i 's/#PasswordAuthentication no/PasswordAuthentication yes/' /etc/ssh/sshd_config
RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd
ENV NOTVISIBLE "in users profile"
RUN echo "export VISIBLE=now" >> /etc/profile
EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]
services:
  emsdk:
    build: ./
    extra_hosts:
      - "host.docker.internal:192.168.10.180"
    working_dir: /root/src
    tty: true
    stdin_open: true
    volumes:
      - ./src:/root/src
    ports:
      - 8080:8080
      - 2222:22
      - 9223:9223

コメントはまだありません »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment

Powered by WordPress