Docker部署Nexus3脚本

相关概念:Docker

这个脚本适合快速起一个单机版 Nexus3 仓库服务。

脚本

#!/bin/bash
set -e
 
DEPLOY_ROOT="${1:-$HOME/docker/nexus}"
NEXUS3_VERSION="${2:-3.93.2}"
NEXUS3_HOME="$DEPLOY_ROOT/$NEXUS3_VERSION"
 
log_info() {
  echo "[INFO] $1"
}
 
create_dirs() {
  if [ -d "$NEXUS3_HOME" ]; then
    echo "[ERROR] $NEXUS3_HOME already exists!" >&2
    exit 1
  fi
 
  mkdir -p "$NEXUS3_HOME/data"
  chmod 777 -R "$NEXUS3_HOME/data"
}
 
start_container() {
  docker run -d \
    --network=host \
    --name nexus3 \
    --restart always \
    -v "$NEXUS3_HOME/data:/nexus-data" \
    "sonatype/nexus3:$NEXUS3_VERSION"
 
  log_info "Nexus3 started: $NEXUS3_HOME"
}
 
create_dirs
start_container

初始密码

容器启动后可通过下面命令查看:

docker exec -it nexus3 sh -c "cat /nexus-data/admin.password"

注意

这里用了 --network=host,适合快速部署,但会直接占用宿主机网络命名空间。