個人開発
個人開発って、なにかエラーで止まったままってすごくある。
そこでうん十年前から始めたのがエラー報告。
ソフトは作れなくても、どこで、どういうエラーで止まったか。
10回に1回くらいは回避できたりすると、それはとても役立ててもらえる。
一番、役に立ったのは自分自身。
同じ間違いを何度も繰り返す性格。
検索すると、自分の報告に当たる。
docker Error
最初のエラー。
InRelease 今日のdocker error<エンジニア夏休み企画>【個人開発】
2回目のエラー
ERROR 2002 (HY000) 今日のdocker error<エンジニア夏休み企画>【個人開発】
そして、今度が3回目。dockerエラーというよりは、コマンドの引数が怪しい。
ubuntu
rootパスワード付きで始める方法を探す。
bash
$ mkdir db
$ cd db
$ echo "Hello World !!!" > HelloWorld.txt
-bash: !": event not found
なんでechoコマンドでエラーが出るんじゃ。
じゃ、1文字にすればいいだろってなった。
bash
echo "A" > HelloWorld.txt
無事進んだ。 Dockerfile少しだけ手を加えた。ubuntu:20.04
apt install -y mariadb-server sudo vim
あたり。
FROM ubuntu:20.04
# HelloWorld.txtのコピー
COPY ./HelloWorld.txt /
# opensshのインストール
RUN apt update && apt install -y mariadb-server sudo vim
# SSH用ディレクトリ作成
RUN mkdir /var/run/sshd
# chpasswd コマンドでパスワード設定をする。root ユーザーに password というパスワードを設定。
RUN echo 'root:password' | chpasswd
# ssh設定ファイルの書き換え
RUN sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
# /etc/pam.d/sshd の設定を書き換え。これをやらないとログイン後にキックされてしまう。
RUN sed 's@session\srequired\spam_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
# SSH接続用のポート設定
EXPOSE 22
# SSHサーバーを起動する
CMD ["/usr/sbin/sshd", "-D"]
docker build
bash
$ docker build -t docker_demo
"docker build" requires exactly 1 argument.
See 'docker build --help'.
.が目に入っていなかった。
bash
$ docker build -t docker_demo .
Sending build context to Docker daemon 3.584kB
Step 1/11 : FROM ubuntu:20.04
---> a0ce5a295b63
Step 2/11 : COPY ./HelloWorld.txt /
---> 12afba885e48
Step 3/11 : RUN apt update && apt install -y mariadb-server sudo vim
---> Running in 31d6bb2bdbc8
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
Get:1 http://security.ubuntu.com/ubuntu focal-security InRelease [114 kB]
Get:2 http://archive.ubuntu.com/ubuntu focal InRelease [265 kB
中略
Get:18 http://archive.ubuntu.com/ubuntu focal-backports/universe amd64 Packages [27.4 kB]
Fetched 23.5 MB in 8s (3124 kB/s)
Reading package lists...
Building dependency tree...
Reading state information...
All packages are up to date.
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
Reading package lists...
中略
Get:84 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 vim amd64 2:8.1.2269-1ubuntu5.7 [1238 kB]
debconf: delaying package configuration, since apt-utils is not installed
Fetched 46.3 MB in 13s (3516 kB/s)
中略
Step 6/11 : RUN sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
---> Running in 83c75daf2c9c
sed: can't read /etc/ssh/sshd_config: No such file or directory
The command '/bin/sh -c sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_co
じゃ、どうしよう。
あ、フォルダ名変えたんだった。
bash
$ docker build -t db
$ docker build -t db .
Sending build context to Docker daemon 3.584kB
Step 1/11 : FROM ubuntu:20.04
---> a0ce5a295b63
Step 2/11 : COPY ./HelloWorld.txt /
---> Using cache
---> 12afba885e48
Step 3/11 : RUN apt update && apt install -y mariadb-server sudo vim
---> Using cache
---> 070efb464539
Step 4/11 : RUN mkdir /var/run/sshd
---> Using cache
---> bd775779f0d2
Step 5/11 : RUN echo 'root:password' | chpasswd
---> Using cache
---> 887191f09dcf
Step 6/11 : RUN sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
---> Running in a599c6f23ca6
sed: can't read /etc/ssh/sshd_config: No such file or directory
The command '/bin/sh -c sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config' returned a non-zero code: 2
$ ls /etc/ssh
moduli ssh_host_dsa_key ssh_host_ecdsa_key.pub ssh_host_rsa_key sshd_config~previous
ssh_config ssh_host_dsa_key.pub ssh_host_ed25519_key ssh_host_rsa_key.pub
ssh_config~orig ssh_host_ecdsa_key
$ ls -al /etc/ssh -al
ls: -al: No such file or directory
/etc/ssh:
total 160
drwxr-xr-x 15 root wheel 480 1 2 2021 .
drwxr-xr-x 121 root wheel 3872 8 27 12:28 ..
-rw-r--r-- 1 root wheel 563386 1 19 2020 moduli
-rw-r--r-- 1 root wheel 1625 8 12 2019 ssh_config
-rw-r--r-- 1 root wheel 1669 7 16 2017 ssh_config~orig
-rw------- 1 root wheel 1361 4 15 2020 ssh_host_dsa_key
-rw-r--r-- 1 root wheel 590 4 15 2020 ssh_host_dsa_key.pub
-rw------- 1 root wheel 480 4 15 2020 ssh_host_ecdsa_key
-rw-r--r-- 1 root wheel 162 4 15 2020 ssh_host_ecdsa_key.pub
-rw------- 1 root wheel 387 4 15 2020 ssh_host_ed25519_key
-rw-r--r-- 1 root wheel 82 4 15 2020 ssh_host_ed25519_key.pub
-rw------- 1 root wheel 1799 4 15 2020 ssh_host_rsa_key
-rw-r--r-- 1 root wheel 382 4 15 2020 ssh_host_rsa_key.pub
-rw-r--r-- 1 root wheel 3169 1 19 2020 sshd_config
-rw-r--r-- 1 root wheel 4161 9 13 2017 sshd_config~previous
ファイルあるんじゃないの?