WSL: 터미널 켤때 파일 자동실행시키는 방법

조회수 2920회

안녕하세요

wsl 쓸때마다 docker관련 환경변수를 바인딩시켜줘야 하더라구요. ~/.profile에 관련 변수를 정의해줬구요. 터미널을 켤때마다 저 파일을 리로드 해줘야 하더라구요. 서비스에 넣어서 돌리려니깐 systemctl이 아예 실행조차 안되면서 아래와 같은 에러가 납니다.

systemctlSystem has not been booted with systemd as init system (PID 1). Can't operate.

startup에 .profile을 올려둘만한 방법을 아시는 분 계시면 알려주심 감사하겠습니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자
  • 우분투라면 .bash_profile 이 존재하면 그 파일을 이용하시고 없으면 생성하여 사용하세요. 정영훈 2020.1.18 10:57
  • 답변 감사합니다. 우분투 사용중이며 .bashrc을 수정해서 말씀주신 방법으로 시도해봤지만 도커데몬을 찾지를 못하더라구요. 변수 및 에러는 아래 답변으로 달아두겠습니다. 알 수 없는 사용자 2020.1.18 11:34

2 답변

  • 리눅스에서 EXE는 파일은 로드할 수 없습니다.

    또한 도커데몬에 접근 못하는 문제는 여러가지 원인이 있을 수 있습니다.

    아마도 이 문제 같은데 wsl 은 자동으로 서비스들을 실행해주진 않습니다. (많이 불편하고 리눅스를 설치하셔서 사용하는 것을 추천드립니다.)

    sudo service docker start 로 도커데몬을 실행해주세요.

    • wsl1이라서 데몬으로 아쉽지만 service나 systemctl로 도커를 못돌리더군요. 그래서 docker for windows의 2375번 포트를 넘겨받아 바인딩하는 식으로 합니다. 바인딩하기 위한 변수가 아래 적은 .profile 파일에 적은 변수들이구요.. 알 수 없는 사용자 2020.1.20 14:16
    • wsl1 은 안되요 사실 wsl1 은 너무 제약이 많아요.현재 제가 wsl2 를 가끔 사용하는데 wsl2 는 하이퍼바이저 기반이라 거의 모든 기능이 사용가능합니다. 네트웍이 조금...불편하긴 하지만...io도 기존대비 빠르고 괜찮습니다. 정영훈 2020.1.20 15:17
    • ㅠㅠ 좋은정보 감사합니다. 알 수 없는 사용자 2020.1.21 11:18
  • 아래는 ~/.profile 혹은 ~/.bashrc에 추가한 변수입니다.

    #Docker
    alias docker=docker.exe
    alias docker-compose=docker-compose.exe
    export PATH="$PATH:$HOME/.local/bin"
    export DOCKER_HOST=0.0.0.0:2375
    

    아래는 우분투 사용시 배쉬소스 파일 수정후 docker ps를 입력하면 나오는 에러 메시지입니다.

    Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)