Rust×CLionで使用するCコンパイラーをDockerで作る


1 使用ツール

・CLion
・Docker for Windows

2 Docker

Rustを触ってみたかったのでついでにインストールしてます。
ただのCコンパイラーなら不要ですね。

Dockerfile.
FROM ubuntu:18.04

RUN apt-get update \
  && apt-get install -y ssh \
      build-essential \
      gcc \
      g++ \
      gdb \
      clang \
      cmake \
      rsync \
      tar \
      python \
      apt-utils \
      git \
      less \
      neovim \
      sudo \
      curl \
      file \
  && apt-get clean

## install rust  
RUN curl https://sh.rustup.rs -sSf | sh -s -- -y


SHELL ["/bin/bash", "-c"]
RUN source ~/.cargo/env
ENV PATH $PATH:~/.cargo/bin


## SSH-Settings
RUN ( \
    echo 'LogLevel DEBUG2'; \
    echo 'PermitRootLogin yes'; \
    echo 'PasswordAuthentication yes'; \
    echo 'Subsystem sftp /usr/lib/openssh/sftp-server'; \
  ) > /etc/ssh/sshd_config_clion \
  && mkdir /run/sshd

## SSH-User
RUN useradd -m user \
  && yes password | passwd user

CMD ["/usr/sbin/sshd", "-D", "-e", "-f", "/etc/ssh/sshd_config_clion"]
docker-compose.yml
version: '3'

services:
  remote_cpp:
    container_name: remote_cpp
    shm_size: 4096m
    build: "./"
    ports:
      - '2222:22'
    cap_add:
      - SYS_PTRACE
    tty: true

3 CLion

SettingsよりToolchainsを選んでDocker側の解放ポート、user/passを入れる

4 おわり

VSCodeのRemote Developmentだと上記のDockerだけでガンガン開発できるんですが、Jetbrains製のIDEにはそういう機能ないのでしょうかね?