docker 相關部分
windows 系統
安裝/升級Docker客戶端
對於Windows 10專業版如下的用戶,推薦使用Docker Toolbox
java
Windows安裝文件:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/linux
對於Windows 10專業版以上的用戶 推薦使用Docker for Windows
web
Windows安裝文件:http://mirrors.aliyun.com/docker-toolbox/windows/docker-for-windows/spring
配置鏡像加速器
針對安裝了Docker Toolbox
的用戶,您能夠參考如下配置步驟:docker
建立一臺安裝有Docker
環境的Linux
虛擬機,指定機器名稱爲default
,同時配置Docker
加速器地址。json
docker-machine create --engine-registry-mirror=https://*****.mirror.aliyuncs.com -d virtualbox default
查看機器的環境配置,並配置到本地,並經過Docker
客戶端訪問Docker
服務。vim
docker-machine env default eval "$(docker-machine env default)" docker info
針對安裝了Docker for Windows
的用戶,您能夠參考如下配置步驟:windows
在系統右下角托盤圖標內右鍵菜單選擇 Settings
,打開配置窗口後左側導航菜單選擇 Docker Daemon
。編輯窗口內的JSON串,填寫下方加速器地址:springboot
{ "registry-mirrors": ["https://*****.mirror.aliyuncs.com"] }
編輯完成後點擊 Apply
保存按鈕,等待Docker
重啓並應用配置的鏡像加速器。注意Docker for Windows
和 Docker Toolbox
互不兼容,若是同時安裝二者的話,須要使用hyperv
的參數啓動。網絡
docker-machine create --engine-registry-mirror=https://*****.mirror.aliyuncs.com -d hyperv default
Docker for Windows
有兩種運行模式,一種運行Windows
相關容器,一種運行傳統的Linux
容器。同一時間只能選擇一種模式運行。
配置遠程訪問
打開docker
的設置界面,找到General
,在裏面找到Expose daemon on tcp://localhost:2375 without TLS
選項,打上勾,便可進行本地或遠程API調用。
linux 系統
安裝/升級Docker客戶端
更新apt軟件包索引。
sudo apt-get update
安裝最新版本的Docker CE
,或者轉到下一步安裝特定版本:
sudo apt-get install docker-ce
配置鏡像加速器
您能夠經過修改daemon
配置文件/etc/docker/daemon.json
來使用加速器
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json
在文件中加入如下內容便可:
{ "registry-mirrors": ["https://********.mirror.aliyuncs.com"] }
從新啓動
sudo systemctl daemon-reload sudo systemctl restart docker
配置遠程訪問
編輯docker
服務配置文件
sudo vim /lib/systemd/system/docker.service
找到以下配置
ExecStart=/usr/bin/dockerd
修改成
ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375
重啓docker網絡
sudo systemctl daemon-reload
重啓docker服務
sudo systemctl restart docker
測試
curl http://localhost:2375/verion
鏡像加速地址,能夠是阿里雲的,這裏以阿里云爲例:
IntelliJ IDEA 相關
配置idea鏈接docker服務
安裝idea的docker插件
在setting
中安裝docker
插件
等待安裝完成重啓idea
配置鏈接
重啓完成後,咱們打開settings
能夠看到docker
點擊+
,添加一個鏈接。
咱們經過tcp的方式鏈接到linux
或者windows
的docker
服務。信息配置好後,idea
會自動檢測。而後會輸出connection successful
。
而後再工具欄選擇docker
的窗口,點擊運行
接下來咱們在idea
上面操做docker
項目相關
首先新建一個簡單的springboot
項目 在項目的pom.xml
文件中加入如下代碼:
<!--複製jar包到指定目錄--> <plugin> <artifactId>maven-antrun-plugin</artifactId> <executions> <execution> <id>gen-webadmin</id> <phase>package</phase> <configuration> <tasks> <copy todir="docker" file="target/${project.artifactId}-${project.version}.${project.packaging}" /> </tasks> </configuration> <goals> <goal>run</goal> </goals> </execution> </executions> </plugin>
在項目根目錄下創建一個docker
文件夾,在docker
文件夾下新建一個Dockerfile
文件,寫入一下內容:
FROM java:8u111 VOLUME /tmp ADD *.jar app.jar EXPOSE 80 ENTRYPOINT ["java","-jar","/app.jar"] # Ubuntu 時區 RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
而後配置docker
啓動項 選擇編輯:
添加一個啓動項:
填寫docker
相關的參數:
在執行docker
鏡像以前須要把項目進行打包,因此在最下面的操做欄中加入maven
打包相關的命令:
添加一個maven
任務:
添加maven
打包命令:
maven
打包分爲了幾步: 第一步是清除上次編譯或者打包的文件
第二步是對項目進行編譯以及打成jar
包
第三步則是把打包好的jar
文件移動到指定的docker文件夾,這樣咱們的docker
對製做鏡像時才能找到咱們的jar
文件,不然則會在製做過程當中報錯。
正常狀況:
Deploying 'signin Dockerfile: docker/Dockerfile'... Building image... Step 1/6 : FROM java:8u111 ---> d23bdf5b1b1b Step 2/6 : VOLUME /tmp ---> Using cache ---> fca4a788f895 Step 3/6 : ADD *.jar app.jar ---> a7d47f6bf6ec Step 4/6 : EXPOSE 80 ---> Running in 7b57f4915a64 Removing intermediate container 7b57f4915a64 ---> 8a893ebb3052 Step 5/6 : ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app.jar", "--Dspring.config.location=application.yml"] ---> Running in 26ae8f5e5310 Removing intermediate container 26ae8f5e5310 ---> 28cc02929af7 Step 6/6 : RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime ---> Running in c0a1b980f7ca Removing intermediate container c0a1b980f7ca ---> 22034793c303 Successfully built 22034793c303 Successfully tagged signin:latest Creating container... Container Id: 0cefcdae23b548d1cdc6865b31f4f4c841de3bed1e6667e64b6583be0b00fd22 Container name: 'signin' Attaching to container 'signin'... Starting container 'signin' 'signin Dockerfile: docker/Dockerfile' has been deployed successfully.
異常狀況:
Deploying 'signin Dockerfile: docker/Dockerfile'... Building image... Step 1/6 : FROM java:8u111 ---> d23bdf5b1b1b Step 2/6 : VOLUME /tmp ---> Using cache ---> fca4a788f895 Step 3/6 : ADD *.jar app.jar Error: ResponseItem.ErrorDetail[code=<null>,message=ADD failed: no source files were specified] Failed to deploy 'signin Dockerfile: docker/Dockerfile': ADD failed: no source files were specified
docker
啓動完成
咱們去linux
上面查看一下:
docker ps -a