
做Java项目的时候会接触到Maven,但从未深入探索,最近想研究一下。我打算通过Docker搭建Maven的环境进行学习,这样做在学习过程中出了什么状况也方便重置运行环境。Maven官方有Docker镜像,但使用时发现它并不能常驻后台,容器执行完命令以后马上就停止。因此在Docker上创建一个Ubuntu容器安装好Java、Maven等环境,然后生成镜像方便学习。这篇文章主要记录这个镜像的搭建过程。
- 生成Ubuntu容器
docker run -it --name ubuntu-20 ubuntu:20.04
- 更新容器然后安装sudo和vim
apt update
apt dist-upgrade
apt-get install -y sudo vim
- 创建用户
jerry并把将它加入到sudoer中
useradd -rm -s /bin/bash jerry
passwd jerry
usermod -aG sudo jerry
- 执行完上面步骤之后可以
exit退出容器。退出容器后,容器会自动停止。这个时候我们重新启动容器,并用前面创建的用户jerry登录到容器。
docker start ubuntu-20
docker exec -it --user jerry ubuntu-20 bash
- 执行下面命令,安装Maven,该命令会自动把JDK也装好。
sudo apt install maven
- 到此位置,环境配置完毕。我们可以
exit退出容器,然后把容器停掉。
docker stop ubuntu-20
- 通过命令
docker ps -a我们可以查看所用容器的基本信息,包括已经停止运行的容器。我们执行该命令,并把刚才的配置好的容器的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