我知道這可能是一個愚蠢的問題... 我想從docker文件中執行docker。問題是,當我使用docker run -it docker_name/bin/bash進入docker時,我沒有完成命令行。 所以我做了這個https://docs.docker.com/machine/completion/(仍然不工作),並想要這樣做https://linuxconfig.org/tab-does-not-automatically-complete-docker-commands-solution在docker中使用sed替換路徑
事情是,我無法從泊塢窗文件中取代幾行。我想使用這樣的命令sed:RUN sed -i 's+#if ! shopt -oq posix; then+if ! shopt -oq posix; then+g' /etc/bash.bashrc
,但它不工作以替換包含路徑的行(我得到錯誤sed:-e表達式#1,字符75:未終止的'命令)。
我也試過RUN sed -i 's+\# if [ -f \/usr\/share\/bash-compl+ if [ -f \/usr\/share\/bash-compl+g' /etc/bash.bashrc
但得到了同樣的結果。
在dockerfile中使用sed的好方法是什麼,或者在dockerfile的未來docker中更新文件的好方法是什麼?
------------- ------------編輯
對不起,我忘了分享我dockerfile。
第一線如下:
FROM nvidia/cuda:8.0-devel-ubuntu14.04
RUN apt-get update && apt-get install --yes --force-yes \
software-properties-common build-essential wget curl git pkg-config cmake-curses-gui vim nano doxygen libboost-all-dev libeigen3-dev libflann-dev freeglut3-dev libglew-dev
# to get cmake3.0
RUN add-apt-repository ppa:george-edison55/cmake-3.x
RUN apt-get update && apt-get install --yes --force-yes \
cmake
RUN apt-get install --yes --force-yes \
g++ python
# Intall some basic GUI tools
RUN apt-get install --yes --force-yes \
cmake-qt-gui gnome-terminal
我想編輯在泊塢窗文件/etc/bash.bashrc,所以我做:
RUN sed -i 's+#if ! shopt -oq posix; then+if ! shopt -oq posix; then+g' /etc/bash.bashrC#this works
RUN sed -i 's+\# if [ -f \/usr\/share\/bash-compl+ if [ -f \/usr\/share\/bash-compl+g' /etc/bash.bashrC#this does not work and provide the previous error
如果可能,請分享您的Dockerfile。如果不是你使用的是什麼基礎圖像? – t6nand
當然,我編輯了我的問題來提供它。 – Bastienm