This commit is contained in:
@ -60,6 +60,6 @@ steps:
|
||||
- list=$(docker ps -a | grep my-dev-server* | awk '{print $1}')
|
||||
- test "$list" = "" && echo "none my-dev-server containers running" || docker stop $list && docker container rm $list
|
||||
# 过滤出dockerImages的id, 删除none镜像
|
||||
- docker run -d -p 18000:8080 -v /mnt/data/opt/dev-server/.local:/root/.local /mnt/data/opt/dev-server/.config:/root/.config -v /mnt/data/opt/dev-server/project:/app/project -v /mnt/data/opt/dev-server/.ssh:/root/.ssh -e ROOT_PASSWD=heiyu518 -e GIT_USER=mol -e GIT_EMAIL=hiiragi10073@163.com -e DOCKER_USER=mol10073 -e DOCKER_PASSWD=5opmbU2YvhTMwB -e http_proxy=http://192.168.124.12:7890 -e https_proxy=http://192.168.124.12:7890 --restart=always --name=my-dev-server git.liliyamol.cn:8081/mol/my-dev-server:latest
|
||||
- docker run -d -p 18000:8080 -v /mnt/data/opt/dev-server/.local:/root/.local -v /mnt/data/opt/dev-server/.config:/root/.config -v /mnt/data/opt/dev-server/project:/home/coder/project -v /mnt/data/opt/dev-server/.ssh:/root/.ssh -e ROOT_PASSWD=heiyu518 -e GIT_USER=mol -e GIT_EMAIL=hiiragi10073@163.com -e DOCKER_USER=mol10073 -e DOCKER_PASSWD=5opmbU2YvhTMwB -e http_proxy=http://192.168.124.12:7890 -e https_proxy=http://192.168.124.12:7890 --restart=always --name=my-dev-server git.liliyamol.cn:8081/mol/my-dev-server:latest
|
||||
- docker rmi $(docker images | grep "none" | awk '{print $3}')
|
||||
- echo ==-----==部署成功==-----==
|
||||
|
@ -1,11 +1,11 @@
|
||||
FROM ubuntu
|
||||
EXPOSE 8080
|
||||
EXPOSE 22
|
||||
WORKDIR /app
|
||||
WORKDIR /home/coder
|
||||
|
||||
COPY . .
|
||||
|
||||
VOLUME [ "/app/project", "/root/.ssh", "/root/.local", "/root/.config" ]
|
||||
VOLUME [ "/home/coder/project", "/root/.ssh", "/root/.local", "/root/.config" ]
|
||||
|
||||
# 运行时可以添加代理
|
||||
ARG PROXY
|
||||
@ -89,5 +89,5 @@ RUN echo "安装 code-server" && \
|
||||
npm install --global code-server --unsafe-perm
|
||||
|
||||
|
||||
ENTRYPOINT ["/app/docker-entry-point.sh"]
|
||||
ENTRYPOINT ["/home/coder/entrypoint.sh", "--bind-addr", "0.0.0.0:8080", "."]
|
||||
|
||||
|
@ -1,34 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ -n "$ROOT_PASSWD" ]; then
|
||||
echo "root:${ROOT_PASSWD}" | chpasswd
|
||||
echo "密码设置完毕" >> /app/info.log
|
||||
fi
|
||||
|
||||
if [ -e "/root/.gitconfig" ]; then
|
||||
echo "git配置文件已存在" >> /app/info.log
|
||||
else
|
||||
touch /root/.gitconfig
|
||||
echo "git配置文件已创建" >> /app/info.log
|
||||
fi
|
||||
|
||||
# git使用openssh的shh程序
|
||||
git config --global core.sshCommand "/usr/bin/ssh"
|
||||
|
||||
if [ -n "$GIT_USER" ] && [ -n "$GIT_EMAIL" ]; then
|
||||
git config --global user.name "$GIT_USER"
|
||||
git config --global user.email "$GIT_EMAIL"
|
||||
echo "git 用户已设置完毕" >> /app/info.log
|
||||
fi
|
||||
|
||||
if [ -n "$DOCKER_USER" ] && [ -n "$DOCKER_PASSWD" ]; then
|
||||
docker login -u "$DOCKER_USER" -p "$DOCKER_PASSWD"
|
||||
echo "docker 用户登录完成" >> /app/info.log
|
||||
fi
|
||||
|
||||
service ssh start >> /app/info.log
|
||||
ssh-agent bash >> /app/info.log
|
||||
|
||||
cat /app/info.log
|
||||
|
||||
code-server
|
59
entrypoint.sh
Normal file
59
entrypoint.sh
Normal file
@ -0,0 +1,59 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ -n "$ROOT_PASSWD" ]; then
|
||||
echo "root:${ROOT_PASSWD}" | chpasswd
|
||||
echo "密码设置完毕" >> /app/info.log
|
||||
fi
|
||||
|
||||
if [ -e "/root/.gitconfig" ]; then
|
||||
echo "git配置文件已存在" >> /app/info.log
|
||||
else
|
||||
touch /root/.gitconfig
|
||||
echo "git配置文件已创建" >> /app/info.log
|
||||
fi
|
||||
|
||||
# git使用openssh的shh程序
|
||||
git config --global core.sshCommand "/usr/bin/ssh"
|
||||
|
||||
if [ -n "$GIT_USER" ] && [ -n "$GIT_EMAIL" ]; then
|
||||
git config --global user.name "$GIT_USER"
|
||||
git config --global user.email "$GIT_EMAIL"
|
||||
echo "git 用户已设置完毕" >> /app/info.log
|
||||
fi
|
||||
|
||||
if [ -n "$DOCKER_USER" ] && [ -n "$DOCKER_PASSWD" ]; then
|
||||
docker login -u "$DOCKER_USER" -p "$DOCKER_PASSWD"
|
||||
echo "docker 用户登录完成" >> /app/info.log
|
||||
fi
|
||||
|
||||
service ssh start >> /app/info.log
|
||||
ssh-agent bash >> /app/info.log
|
||||
|
||||
cat /app/info.log
|
||||
|
||||
set -eu
|
||||
|
||||
# We do this first to ensure sudo works below when renaming the user.
|
||||
# Otherwise the current container UID may not exist in the passwd database.
|
||||
eval "$(fixuid -q)"
|
||||
|
||||
if [ "${DOCKER_USER-}" ]; then
|
||||
USER="$DOCKER_USER"
|
||||
if [ "$DOCKER_USER" != "$(whoami)" ]; then
|
||||
echo "$DOCKER_USER ALL=(ALL) NOPASSWD:ALL" | sudo tee -a /etc/sudoers.d/nopasswd > /dev/null
|
||||
# Unfortunately we cannot change $HOME as we cannot move any bind mounts
|
||||
# nor can we bind mount $HOME into a new home as that requires a privileged container.
|
||||
sudo usermod --login "$DOCKER_USER" coder
|
||||
sudo groupmod -n "$DOCKER_USER" coder
|
||||
|
||||
sudo sed -i "/coder/d" /etc/sudoers.d/nopasswd
|
||||
fi
|
||||
fi
|
||||
|
||||
# Allow users to have scripts run on container startup to prepare workspace.
|
||||
# https://github.com/coder/code-server/issues/5177
|
||||
if [ -d "${ENTRYPOINTD}" ]; then
|
||||
find "${ENTRYPOINTD}" -type f -executable -print -exec {} \;
|
||||
fi
|
||||
|
||||
exec dumb-init /usr/bin/code-server "$@"
|
Reference in New Issue
Block a user