Docker如何制作Java镜像?完整步骤教程一看就懂
作者:Anny的blog
还在为Docker中安装JDK后重启容器失效而烦恼吗?本文手把手教你从安装Docker开始,拉取CentOS镜像、挂载目录、启动容器、安装JDK并解决重启失效问题,最后将容器制作成Java镜像并导出为tar包,方便在其他服务器加载使用,轻松搭建可移植的Java运行环境
1. 安装docker
1.1 卸载旧版本docker
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
1.2 下载所需安装包
sudo yum install -y yum-utils
1.3 设置镜像仓库
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
1.4 更新yum软件包索引
yum makecache fast
1.5 安装docker相关的源 docker-ce 社区 ee 企业版
yum install docker-ce docker-ce-cli containerd.io
1.6 启动docker
systemctl start docker
1.7 验证docker是否安装成功
docker -v
2. 拉取centos镜像
docker pull centos:centos7
3. 目录挂载
cd /home docker volume create qw ln -s /var/lib/docker/volumes/qw/_data/ /home/qw
4. 启动容器
#宿主机的qw和容器/home/qw内容同步 docker run -itd --net=host --privileged -v qw:/home/qw --name mycentos centos:centos7 /usr/sbin/init
5.安装Java
5.1 上传JDK安装包
将JDK安装包上传到宿主机/home/qw下

5.2 安装jdk
进入容器安装jdk,安装步骤和在普通服务器直接安装一样。
#进入容器 docker exec -it mycentos /bin/bash #安装jdk #验证是否安装成功 java -version

PS:重启容器,再次输入java -version提示java未安装,解决办法:
#编辑~/.bashrc vi ~/.bashrc #在文件中加入以下内容 source /etc/profile

6. 将容器制作成镜像
# docker commit -m '镜像描述' -a '制作者' 容器名 镜像名 docker commit -m "centos_java" -a "anny" mycentos centos_java:1.0
7. 镜像打成tar包
#docker save -o tar包的名字 镜像名 docker save -o centos_java.tar centos_java:1.0
至此,一个Java镜像就制作已经完成,将centos_java.tar包放在另外一台服务器加载就可以使用了。
8. 加载镜像
# docker load < tar 包所在路径 docker load < centos_java.tar
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
