云与虚拟化 1-2实验
步骤1
在可联网的主机上制作docker本地安装包。
yum -y install ntpdate yum-utils
ntpdate ntp.aliyun.com
步骤2
创建离线安装包
mkdir -p /opt/docker
chmod -R 777 /opt/docker
先启动一个centos容器
docker run -it --privileged -v /opt/docker:/opt/docker centos:7 bash
在容器里进入目录
cd /opt/docker
添加镜像源:
yum-config-manager --add-repo http://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
步骤 3
下载离线包到/opt/docker
# 下载依赖
yum install --downloadonly --downloaddir=/opt/docker yum-utils device-mapper-persistent-data lvm2 createrep
ls
# 安装仓库制作器?
yum install -y device-mapper-persistent-data lvm2 createrepo
yum makecache fast
yum install --downloadonly --downloaddir=/opt/docker/ docker-ce-18.03.0.ce
#下载KEY
cd /opt/docker/
yum install -y wget
wget https://download.docker.com/linux/centos/gpg
# 加入仓库数据
createrepo -pdo /opt/docker /opt/docker
createrepo --update /opt/docker
cd /opt/docker/
ll
tar -zcvf docker-local.tar.gz *
退出当前容器
CTRL+P+Q
删除容器,这里要一一对应。
docker ps -a
docker stop
docker stop 7ea
docker rm 7ea
步骤4 在离线的主机上安装docker
离线主机
1. 解压一个docker_c7
然后恢复到init的时候
2. 想法子把刚刚生成的/opt/docker/docker-local.tar.gz 复制出来,然后放到新的虚拟机上
我这里用了termius直接SFTP拖出来了
然后制作一个iso,linux的话直接用这个命令,windows用软碟通也可以。
yum install genisoimage
mkisofs -o centos_7_docker.iso /opt/docker/docker-local.tar.gz
3. 启动虚拟机安装
移除网络适配器,挂载iso
4. 开机安装
#版本号
uname -r //查看Linux内核版本号
#步骤2:关闭防火墙,并查询防火墙是否关闭。
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld
#步骤3:修改/etc/selinux目录下的config配置文件,设置SELINUX为disabled后,保存并退出。
setenforce 0
vi /etc/selinux/config
SELINUX=disabled // 将SELINUX设置为disabled
步骤4:将centos的ISO镜像文件和docker-local.tar.gz文件上传到离线的主机,本任务将文件复制到/opt目录,并将centos的ISO镜像文件挂到/opt/centos目录,将docker-local.tar.gz文件解压到/opt/docker目录。
#因为文件在iso里,先挂载
mkdir -p /mnt/cd
#挂载磁碟
mount /dev/cdrom /mnt/cd
cd /mnt/cd
ls -al
#复制文件
mkdir -p /opt/docker /opt/centos
#k拷贝文件
cp docker_1.tgz /opt/docker
#解压文件
cd /opt/docker
tar -zxvf docker_1.tgz
步骤5:配置docker-ce的yum源。
rm -ivf /etc/yum.repos.d/*.repo // 删除原有的repo文件
vi /etc/yum.repos.d/docker-ce.repo
// 添加如下内容
[docker]
name=docker ce
baseurl=file:///opt/docker
gpgcheck=0
enabled=1
gpgkey=file:///opt/docker/gpg
[centos]
name=centos
baseurl=file:///opt/centos
gpgcheck=0
enabled=1
保存退出(:wq)
挂载centosDVD
下载镜像文件:
自动选地址:http://mirrors.cernet.edu.cn/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-2009.iso
USTC:https://mirrors.ustc.edu.cn/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-2009.iso
感觉齐工大的不是很快。
换碟
umount /dev/cdrom
mount /dev/cdrom /opt/centos
ls /opt/centos
继续:
yum clean all
步骤6:安装createrepo。
yum -y install deltarpm libxml2-python python-deltarpm createrepo
createrepo -d /opt/docker/repodata
yum clean all
yum makecache fast
步骤7:安装docker-ce,并检查docker-ce是否安装成功。
yum -y install docker-ce
systemctl start docker
systemctl enable docker
docker version
到此完成。
下面是失败的尝试过程
特权容器安装(失败)
忽略bia
这里直接启动centos:7 容器来安装,假装他是一个虚拟机,开的时候给特权容器。
启动一个特权容器
并且把主机的目录映射到容器里
docker run -it --privileged -v /opt/docker:/opt/docker centos:7 bash
执行命令
# 查看内核版本号
uname -r
# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld
因为容器没有内核,这些命令可能会失败。
解压安装
看好在容器里再执行!(就是hostanme是一些字母)
这里原计划书解压目录有点问题
tar -zxvf /opt/docker/docker-local.tar.gz -C /opt/docker
rm -ivf /etc/yum.repos.d/*.repo
vi /etc/yum.repos.d/docker-ce.repo
写入:
i 插入 wq保存
[docker]
name=docker ce
baseurl=file:///opt/docker
gpgcheck=0
enabled=1
gpgkey=file:///opt/docker/gpg
[centos]
name=centos
baseurl=file:///opt/centos
gpgcheck=0
enabled=1
安装
yum clean all
yum -y install deltarpm libxml2-python python-deltarpm createrepo
createrepo -d /opt/docker/repodata
yum clean all
yum makecache fast
这里失败了,估计是没内核的事情,但按理说应该可以成功。