目录
一、安装docker
(1)更换国内软件源
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
sudo apt update
(2)安装需要的包
sudo apt install apt-transport-https ca-certificates software-properties-common curl
(3)添加 GPG 密钥,并添加 Docker-ce 软件源
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
$(lsb_release -cs) stable"
(4)添加成功后更新软件包缓存
sudo apt update
(5)安装 Docker-ce
sudo apt install docker-ce
(6)设置开机自启动并启动 Docker-ce(安装成功后默认已设置并启动,可忽略)
sudo systemctl enable docker
sudo systemctl start docker
(7)hello world验证:
$ sudo docker run hello-world
(8)添加当前用户到 docker 用户组,可以不用 sudo 运行 docker
sudo groupadd docker
sudo usermod -aG docker $USER
如果出现错误可以参考
docker安装错误的解决方案
二、安装docker的Ubuntu,Centos镜像
查看docker,使用
docker version
使用
docker pull Ubuntu
查看docker的镜像库
docker images
验证docker的Ubuntu镜像
拉取centos:latest镜像,使用
docker pull daocloud.io/library/centos:latest
查看镜像
docker images
三、安装Java和Scala
刷新源
apt-get update
下载java 8
apt install openjdk-8-jdk
查看安装是否成功
java -version
安装Scala
apt install scala
使用scala检查
scala
四、安装SSH
更新软件源
apt-get update
安装SSH
apt-get install openssh-server
可能会出现一些问题:
在安装SSH时因为该软件包正处于非常不稳定的状态,所以要先进行安装
1.将info文件夹更名
sudo mv /var/lib/dpkg/info /var/lib/dpkg/info_old
2.再新建一个新的info文件夹
sudo mkdir /var/lib/dpkg/info
sudo apt-get -f install
3.更新
sudo apt-get update
4.执行完上一步操作后会在新的info文件夹下生成一些文件,现将这些文件全部移到info_old文件夹下
sudo mv /var/lib/dpkg/info/* /var/lib/dpkg/info_old
5.把自己新建的info文件夹删掉
sudo rm -rf /var/lib/dpkg/info
6.把以前的info文件夹重新改回名字
sudo mv /var/lib/dpkg/info_old /var/lib/dpkg/info
问题解决,重新安装
检查SSH是否成功启动
ps -e|grep ssh
生成秘钥
ssh-keygen -t rsa -p ""
将公钥追加到 authorized_keys 文件中
cat .ssh/id_rsa.pub >> .ssh/authorized keys
启动 SSH 服务
五、创建容器
创建容器时需要设置固定IP,所以先要在docker使用如下命令创建固定IP的子网
docker network create --subnet=172.18.0.0/16 netgroup
docker的子网创建完成之后就可以创建固定IP的容器
#cluster-master
docker run -d --privileged -ti -v /sys/fs/cgroup:/sys/fs/cgroup --name cluster-master -h cluster-master --net netgroup --ip 172.18.0.2 daocloud.io/library/centos /usr/sbin/init
#cluster-slaves
docker run -d --privileged -ti -v /sys/fs/cgroup:/sys/fs/cgroup --name cluster-slave1 -h cluster-slave1 --net netgroup --ip 172.18.0.3 daocloud.io/library/centos /usr/sbin/init
docker run -d --privileged -ti -v /sys/fs/cgroup:/sys/fs/cgroup --name cluster-slave2 -h cluster-slave2 --net netgroup --ip 172.18.0.4 daocloud.io/library/centos /usr/sbin/init
docker run -d