docker制作镜像
在一个可连接外网的服务器上进行以下操作,本文采用的是基于centos制作镜像的方式。
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