
做Java項目的時候會接觸到Maven,但從未深入探索,最近想研究一下。我打算通過Docker搭建Maven的環(huán)境進行學習,這樣做在學習過程中出了什么狀況也方便重置運行環(huán)境。Maven官方有Docker鏡像,但使用時發(fā)現(xiàn)它并不能常駐后臺,容器執(zhí)行完命令以后馬上就停止。因此在Docker上創(chuàng)建一個Ubuntu容器安裝好Java、Maven等環(huán)境,然后生成鏡像方便學習。這篇文章主要記錄這個鏡像的搭建過程。
- 生成Ubuntu容器
docker run -it --name ubuntu-20 ubuntu:20.04
- 更新容器然后安裝sudo和vim
apt update
apt dist-upgrade
apt-get install -y sudo vim
- 創(chuàng)建用戶
jerry并把將它加入到sudoer中
useradd -rm -s /bin/bash jerry
passwd jerry
usermod -aG sudo jerry
- 執(zhí)行完上面步驟之后可以
exit退出容器。退出容器后,容器會自動停止。這個時候我們重新啟動容器,并用前面創(chuàng)建的用戶jerry登錄到容器。
docker start ubuntu-20
docker exec -it --user jerry ubuntu-20 bash
- 執(zhí)行下面命令,安裝Maven,該命令會自動把JDK也裝好。
sudo apt install maven
- 到此位置,環(huán)境配置完畢。我們可以
exit退出容器,然后把容器停掉。
docker stop ubuntu-20
- 通過命令
docker ps -a我們可以查看所用容器的基本信息,包括已經(jīng)停止運行的容器。我們執(zhí)行該命令,并把剛才的配置好的容器的ID(8090d1bf7297)記錄下來。然后把它提交生成鏡像。
docker commit -m="Ubuntu with jdk 11.0 and mvn 3.6.3" \
-a="jerry" 8090d1bf7297 \
jerry/ubuntu:jdk-11.0-mvn-3.6.3
- 鏡像生成以后我們就可以很簡單的用下面命令生成前面配置好的容器學習Maven了。
docker run -it --name ubuntu-mvn \
jerry/ubuntu:jdk-11.0-mvn-3.6.3
- 啟動、進入容器,開心玩耍。
docker start ubuntu-mvn
docker exec -it --user jerry ubuntu-mvn bash