參照這篇文章Docker開放遠程安全訪問(開啓2376端口和CA認證)java
在File --> Settings --> Plugins 在搜索框中輸入Docker,搜索並點擊安裝。安裝完成後重啓IDEA。redis
在File–> Settings–>Build,Execution,Deployment中找到Docker
新建一個Docker實例,鏈接成功後底部會顯示Connection successful。spring
設置完成後,回到IDEA主界面,能夠看到下面多出來一個Docker窗口或者在Services窗口中出現Docker。選中並鏈接Docker,鏈接上後顯示Containers和Images就是咱們如今Docker中已經有的容器和鏡像。docker
在項目的根目錄下建立Dockerfile文件,內容以下數據庫
FROM java:openjdk-8-jdk-alpine VOLUME /tmp ADD target/*.jar app.jar #設置alpine系統時區 ENV TZ=Asia/Shanghai RUN ln -snf /usr/share/zoneinfo/${TZ} /etc/localtime && echo ${TZ} > /etc/timezone EXPOSE 8081 ENTRYPOINT [ "java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app.jar" ]
在Run/Debug Configurations中添加一個新配置,選擇Docker->Dockerfile,輸入配置名、容器名、端口綁定等。segmentfault
在配置啓動項中找到Before launch:Activate tool window,在這裏新增一個Run Maven Gold緩存
在Command line中添加命令 clean package
這麼作的目的是能夠在代碼修改以後點擊運行時自動打包並構建Docker鏡像,若是不配置的話,修改後的代碼並不會被打包到Docker鏡像中。安全
點擊運行,咱們會發現項目已經啓動成功了,在右側還能夠查看日誌等信息,很是方便。app
若是咱們的項目須要鏈接數據庫或者緩存,那麼能夠使用Docker Compose把項目和數據庫同時構建。dom
在項目根目錄下建立docker-compose.yml文件,內容以下:
version: '3' services: hello-spring-cloud-alibaba-nacos-provider: restart: always build: . image: hello-spring-cloud-alibaba-nacos-provider container_name: hello-spring-cloud-alibaba-nacos-provider ports: - "8081:8081" redis: restart: always image: redis container_name: redis volumes: - ./redis/data/:/data/
在Run/Debug Configurations中添加一個新配置,選擇Docker->Docker-compose,輸入配置名稱並選擇剛纔建立的docker-compose.yml文件,一樣在Before launch中新增一個Run Maven Gold,命令爲clean package
。
點擊運行
運行成功,這裏出現了新的Docker Compose容器