cronã¨ãsshã¨ãsystemdã¨ããDockerã³ã³ããä¸ã§è©¦ããããªã¨æãã
ãããã試ãã¦ã¿ãã¨ãã®åå¿é²(*´Ïï½*)
ããæãã®ããªãã£ãã®ã§ãDockerHubã®åå¼·ãå ¼ãã¦å ¬éãã¦ã¿ã
ã¤ãã£ãDockerfile
Dockerfileã®ä¸èº«ã¯ãããªæãã
FROM ubuntu:22.04 ### ç°å¢å¤æ° ENV TZ Asia/Tokyo ENV ROOT_PASSWORD root ### ããã±ã¼ã¸ã®ã¤ã³ã¹ãã¼ã« RUN apt update # systemdãã¿ã¤ã ã¾ã¼ã³é¢é£ RUN apt install -y init systemd tzdata locales # sshï¼cron RUN apt install -y cron openssh-server # utils RUN apt install -y vim curl unzip ### config sshd # rootã§ã®ãã°ã¤ã³ãè¨±å¯ RUN sed -i 's/^#\(PermitRootLogin\) .*/\1 yes/' /etc/ssh/sshd_config # PAM(Pluggable Authentication Module)èªè¨¼ã®ç¡å¹å RUN sed -i 's/^\(UsePAM yes\)/# \1/' /etc/ssh/sshd_config RUN apt clean # setenv: èµ·åæã«ãã¹ã¯ã¼ããTZãå¤æ´ããã¹ã¯ãªãããæºå RUN { \ echo '#!/bin/bash'; \ echo 'echo "root:${ROOT_PASSWORD}" | chpasswd'; \ echo 'ln -fs /usr/share/zoneinfo/${TZ} /etc/localtime'; \ } > /usr/local/bin/setenv.sh; \ chmod +x /usr/local/bin/setenv.sh; EXPOSE 22 # ç°å¢è¨å®ç¨ã®ã¹ã¯ãªãããå®è¡ ENTRYPOINT ["setenv.sh"] # systemdèµ·åããããã«initãå®è¡ CMD ["/sbin/init"]
確èªç¨ã«docker-compose.yml
ãã
docker compose up -d
ããã°OK
version: "2" name: "ubuntu_2204" services: ubuntu: container_name: "ubuntu" build: context: ./ dockerfile: ./Dockerfile privileged: true ports: - "8122:22"
Docker Hubã¸ã®push
Docker Hubã¸ã®ããã·ã¥ã¯ãããªæãã
ä½æããDocker Hubãªãã¸ããªã¨åãååã«ããã°OKã
$ ls Dockerfile # Docker Hubã«ãã°ã¤ã³ $ docker login # Dockerã¤ã¡ã¼ã¸ã®ãã«ã $ docker build . -t "memorylovers/ubuntu:latest" # ãã«ãããã¤ã¡ã¼ã¸ãpush $ docker push memorylovers/ubuntu:latest
使ã£ã¦ã¿ã
ãã¨ã¯ãããªæãã§èµ·åï¼sshããã°OK
$ docker run -d --privileged -p 8022:22 memorylovers/ubuntu $ ssh -p 8022 root@localhost
以ä¸!! ããã§ããããã§ããããã«(*´Ïï½*)
åèã«ãããµã¤ããã¾
- [Linux(Ubuntu)]ã¿ã¤ã ã¾ã¼ã³ãæ¥æ¬æéã«ãã5ã¤ã®æ¹æ³ã¾ã¨ã
- Dockerã³ã³ããã«SSHããéã«ç°å¢å¤æ°ãå¼ãç¶ã #Docker - Qiita
- Dockerã¤ã¡ã¼ã¸å°å ¥ï¼ubuntuï¼ãsshæ¥ç¶ï¼èªåãµã¼ãã¹èµ·åï¼ã¾ã§ #Docker - Qiita
- Publishing Docker images - GitHub Docs
- GitHub Actionsãå©ç¨ããDockerã¤ã¡ã¼ã¸ã®èªåãã«ãã試ã | SIOS Tech. Lab
- ãå ¥éãDocker Hubã¨ã¯ï¼æ¦è¦ã¨ä»çµã¿ãåºæ¬çãªä½¿ãæ¹ã解説 - ã«ã´ã¤ã®ãµã¼ãã¼ç 究室
- ãubuntuãDockerã§systemctlã使ããããã«ãã
- Dockerã§systemctlã使ãããï¼(Dockeråå¿è åã) - NIFTY engineering