From b5f95e650bc3121a534ff5a67d06cfeb9d758e11 Mon Sep 17 00:00:00 2001 From: xfy Date: Tue, 22 Oct 2024 15:58:01 +0800 Subject: [PATCH] restore ubuntu dockerfile --- dockerfiles/ubuntu/Dockerfile | 30 +++++++++++++----------------- dockerfiles/ubuntu/build.sh | 5 +++-- dockerfiles/ubuntu/start.sh | 21 +++++++++++---------- 3 files changed, 27 insertions(+), 29 deletions(-) diff --git a/dockerfiles/ubuntu/Dockerfile b/dockerfiles/ubuntu/Dockerfile index 4ec2b3d..8e63366 100644 --- a/dockerfiles/ubuntu/Dockerfile +++ b/dockerfiles/ubuntu/Dockerfile @@ -13,44 +13,40 @@ RUN sed -i 's@//.*archive.ubuntu.com@//mirrors.tuna.tsinghua.edu.cn@g' /etc/apt/ && rm -rf /var/lib/apt/lists/* ARG USER=xfy -ARG UID=1000 -ARG GID=1000 -RUN groupadd -g ${GID} -o ${USER} \ - && useradd --groups sudo -m -u ${UID} -g ${GID} -o --shell /bin/zsh ${USER} \ +RUN useradd --groups sudo --no-create-home --shell /bin/zsh ${USER} \ && echo "${USER} ALL=(ALL) NOPASSWD:ALL" >/etc/sudoers.d/${USER} \ && chmod 0440 /etc/sudoers.d/${USER} # RUN usermod -o -u ${USER_ID} ${USER} # RUN usermod -g ${USER_ID} ${USER} USER ${USER} -WORKDIR $HOME +WORKDIR /home/${USER} RUN git clone https://github.com/DefectingCat/dotfiles \ # onmyzsh && sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" \ - && rm -rf $HOME/.zshrc \ - && ln -s $HOME/dotfiles/zsh/zshrc $HOME/.zshrc \ - && ln -s $HOME/dotfiles/zsh/p10k.zsh $HOME/.p10k.zsh \ - && bash $HOME/dotfiles/zsh/install-plugins.sh \ + && rm -rf /home/${USER}/.zshrc \ + && ln -s /home/${USER}/dotfiles/zsh/zshrc /home/${USER}/.zshrc \ + && ln -s /home/${USER}/dotfiles/zsh/p10k.zsh /home/${USER}/.p10k.zsh \ + && bash /home/${USER}/dotfiles/zsh/install-plugins.sh \ # neovim config - && git clone https://github.com/DefectingCat/nvim $HOME/.config/nvim + && git clone https://github.com/DefectingCat/nvim /home/${USER}/.config/nvim # node -RUN HOME=$HOME curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash \ +RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash \ && export NVM_DIR="/home/$USER/.nvm" \ - && ls -al $NVM_DIR \ && \. "$NVM_DIR/nvm.sh" \ && nvm install --lts \ && npm i -g yarn pnpm cgr \ # rustup && curl https://sh.rustup.rs -sSf | sh -s -- -y \ # golang - && git clone https://github.com/go-nv/goenv.git $HOME/.goenv \ - && $HOME/.goenv/bin/goenv install 1.22.2 \ - && $HOME/.goenv/bin/goenv global 1.22.2 + && git clone https://github.com/go-nv/goenv.git /home/${USER}/.goenv \ + && /home/${USER}/.goenv/bin/goenv install 1.22.2 \ + && /home/${USER}/.goenv/bin/goenv global 1.22.2 # lazygit RUN LAZYGIT_VERSION=$(curl -s "https://api.github.com/repos/jesseduffield/lazygit/releases/latest" | grep -Po '"tag_name": "v\K[^"]*') \ && curl -Lo lazygit.tar.gz "https://github.com/jesseduffield/lazygit/releases/latest/download/lazygit_${LAZYGIT_VERSION}_Linux_x86_64.tar.gz" \ - && mkdir -p $HOME/.config/lazygit \ - && cp -a $HOME/dotfiles/lazygit/mocha-pink.yml $HOME/.config/lazygit \ + && mkdir -p /home/${USER}/.config/lazygit \ + && cp -a /home/${USER}/dotfiles/lazygit/mocha-pink.yml /home/${USER}/.config/lazygit \ && tar zvxf lazygit.tar.gz lazygit \ && sudo install lazygit /usr/local/bin \ && rm -rf lazygit \ diff --git a/dockerfiles/ubuntu/build.sh b/dockerfiles/ubuntu/build.sh index 8c9d80b..a763527 100755 --- a/dockerfiles/ubuntu/build.sh +++ b/dockerfiles/ubuntu/build.sh @@ -4,8 +4,9 @@ set -xe echo $(whoami) +# --build-arg UID=$(id -u) \ +# --build-arg GID=$(id -g) \ + docker build --progress=plain \ - --build-arg UID=$(id -u) \ - --build-arg GID=$(id -g) \ --build-arg USER=$(whoami) \ -t ubuntu-dev . diff --git a/dockerfiles/ubuntu/start.sh b/dockerfiles/ubuntu/start.sh index e333bd8..da8ea26 100755 --- a/dockerfiles/ubuntu/start.sh +++ b/dockerfiles/ubuntu/start.sh @@ -7,18 +7,19 @@ if [ $# -lt 1 ]; then exit 1 fi -HOME_FOLDER=$1 -PROJECT_FOLDER=$2 +# HOME_FOLDER=$1 +PROJECT_FOLDER=$1 -if [ -z "$(ls -A "$HOME_FOLDER")" ]; then - docker run --rm -itd --name=ubuntu-dev ubuntu-dev || exit 1 - docker cp ubuntu-dev:/home/xfy/. $HOME_FOLDER || docker stop ubuntu-dev - docker stop ubuntu-dev -fi +# if [ -z "$(ls -A "$HOME_FOLDER")" ]; then +# docker run --rm -itd --name=ubuntu-dev ubuntu-dev || exit 1 +# docker cp ubuntu-dev:/home/xfy/. $HOME_FOLDER || docker stop ubuntu-dev +# docker stop ubuntu-dev +# fi + +# -v $SSH_AUTH_SOCK:/ssh-agent -e SSH_AUTH_SOCK=/ssh-agent +# -v $HOME_FOLDER:/home/xfy \ docker run --rm -it --name=ubuntu-dev \ --user xfy:xfy \ - -v $SSH_AUTH_SOCK:/ssh-agent -e SSH_AUTH_SOCK=/ssh-agent \ - -v $HOME_FOLDER:/home/xfy \ -v $PROJECT_FOLDER:/app \ - ubuntu-dev # --user $(id -u):$(id -g) \ + ubuntu-dev