maven 利用docker容易搭建nexes私服
伺服器:ubuntu-16.04
1、 更新資源:
$ sudo apt-get update
更新 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的地址,這樣才能獲取到最新的軟體包
2、安裝docker
yum install docker* -y
安裝docker 的所有包, -y就會跳過詢問,在普通的sudo yum install 會經常詢問是否怎麼怎麼樣。加了-y默認同意。
3、啟動docker
systemctl enable docker
sudo systemctl start docker
4、 檢視docker執行狀態:
sudo docker run hello-world
5、安裝nexus: 利用docker 容器建立例項:
sudo docker run -v /etc/timezone:/etc/timezone:ro -v /etc/localtime:/etc/localtime:ro -v nexus:/sonatype-work -p 8081:8081 -d --restart always --privileged --name nexus sonatype/nexus:latest
docker run:指令 -i 保持STDIN開啟,即使沒有附加 -t 分配偽TTY -d 在後臺執行容器並列印容器ID -p 將容器的埠對映到主機(容器埠:主機埠) -v 設定容器與主機的空間繫結(繫結後容器與主機會共享繫結的區域,主機或容器建立的檔案都可以在這個空間裡看到) -e 設定容器的系統內的環境變數 --volumes-from 從指定的容器內安裝卷(容器名稱ps 的NAMES名稱) --hostname 設定容器建立後系統裡的主機名稱 --restart 容器退出時自動啟動(預設不會自動啟動) --name 設定容器名稱 指定映象名稱
解釋:1. -v /etc/timezone:/etc/timezone:ro -v /etc/localtime:/etc/localtime:ro #timezone是時區,docker 內容器時區通常被預設設定為 Asia/Shanghai,而
作業系統(即宿主機)的預設時間為 UTC 時間,這種情況會造成了 Docker 容器時區跟宿主機不一致,所以將宿主機的時區設定對映到 Docker 容器中。-ro: read-only, 只讀。
2 .-v nexus:/sonatype-work 將資料掛載到宿主機
6、檢視啟動的容器
1 2 3 4 |
|
7、容器的啟動|停止|重啟
docker start|stop|restart (CONTAINER ID) #停止所有 docker stop $(docker ps -a -q)
8、刪除容器
docker rm (CONTAINER ID) #刪除所有容器 docker rm $(docker ps -a -q)
9、強制停止容器
docker kill (CONTAINER ID)