前提
現在、Dockerfileを作成して、イメージの作成をしています。
Dockerfileの中に、ファイルを編集する処理を追加しようとしています。
Vimが使えるようにインストールしたものの、キーボード入力をDockerfile内で自動化するよう実現する方法がわかりません。
実現したいこと
キーボードから入力するコマンドを、Dockerfileで実現する。
自動化したい、キーボードから入力するコマンド
①vim hoge.xml
②3G
③i
④<!--
⑤:wq
⑥vim hoge.xml
⑦6G
⑧i
⑨-->
⑩:wq
以下、具体的な処理の説明です。
hoge.xmlファイルの、3~6行目をコメントアウトしています。
②、⑦で行数移動、④、⑨でコメントを入力
⑤、⑩で上書き保存
本来、④終了後にキーボードでは「ESC」を押すことでモード切替ができますが、
「ESC」を押すことをDockerfileで表現することができないと考え、一度上書き保存して、再度開くようにしています。
現在実装途中のソースコード
Docker
1FROM ubuntu 2RUN ["apt-get", "update"] 3RUN ["apt-get", "install", "-y", "vim"] 4 5RUN ["vim", "hoge.xml"] 6RUN ["3G"] 7RUN ["i"] 8RUN ["<!--"] 9RUN [":wq"] 10 11RUN ["vim", "hoge.xml"] 12RUN ["6G"] 13RUN ["i"] 14RUN ["-->"] 15RUN [":wq"]
試したこと
上記のようなイメージで自動化できる方法を模索し、
こちらを実行したところ、3Gというコマンドはないので当然エラーになってしまいます。
最後に
Dockerに初めて触れており、Dockerfileの記述方法など、よろしくないものもあるかと思われますが、
ご指導ご鞭撻のほどよろしくお願いします。
回答1件
あなたの回答
tips
プレビュー