1. 程式人生 > >maven 利用docker容易搭建nexes私服

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

docker ps  (預設只顯示執行中的所有容器)

-a    顯示所有容器

-q    只列出容器ID

-n    列出指定數量最近建立的容器(-n=10)

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)