本机装载VirtualBox+CentOS7环境下安装Docker
一、环境准备
VirtualBox安装
镜像下载
下载 CentOS7的镜像
二、基础步骤及设置
2.1新建虚拟电脑
2.2.分配内存大小,具体值自定义
2.3创建虚拟硬盘
2.4 设置镜像
2.5 网络设置
2.6 安装系统
刚开始进来,鼠标无法移除虚拟机屏幕,可以按住键盘右侧的Ctrl键移出,页面大小选择【自动缩放】
点击进行安装位置选择,可以不用修改,直接点击【完成】,即可进行下一步安装
进行安装以后,是没有用户名密码的,需要进行设置
等待安装完成以后,再重启虚拟机就好。
键入用户名和密码
至此,VirtualBox + CentOS 环境搭建完成。
2.7 网络配置
如果是选择网桥模式,则需要设置静态ip
ip addr
查看网络基本情况,修改/etc/sysconfig/network-scripts/ifcfg-enp0s3的内容为:
DEVICE=enp0s3
HWADDR=xxxx
TYPE=Ethernet
UUID=xxxxx
ONBOOT=yes //开机启用网络配置
NM_CONTROLLED=yes //实施生效,修改后无需重启网卡生效
BOOTPROTO=static //IP获取方式 DHCP、static、none
IPADDR=xxx //IP地址
NETMASK=255.255.255.0 //子网掩码
GATEWAY=xxx //网关:向外发送请求
DNS1=114.114.114.114 //国内移动、电信和联通通用的DNS
DNS2=8.8.8.8 //谷歌的DNS服务器
如果选择的是**网络地址转换(NAT)**模式
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp" //动态ip设置
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="enp0s3" //虚拟机名称
UUID="xxx"
DEVICE="enp0s3"
ONBOOT="yes" //开机自动调用
无论哪一种,配置完成,本地ssh连接一下,后面的配置都由本地命令窗口中完成
ssh root@127.0.0.1 -p xx
三、环境安装
3.1 java
1.创建文件夹
mkdir /usr/java
2.通过本地下载好的jdk上传解压
scp -P xx D:\Java\jdk-8u261-linux-x64.tar.gz root@127.0.0.1:/usr/local
tar -zxvf jdk-8u261-linux-x64.tar.gz
3.编辑profile文件。
vi /etc/profile
4.配置全局变量
JAVA_HOME=/usr/local/java
JRE_HOME=/usr/local/java/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME PATH
5.更新并验证
source /etc/profile
java -version
3.2 maven
tar -zxvf apache-maven-3.6.3-bin.tar.gz
mv apache-maven-3.6.3 maven
mv maven/ /usr/local/
vi /etc/profile
M2_HOME=/usr/local/maven
export PATH=$PATH:$M2_HOME/bin
source /etc/profile
mvn -version
3.3 Git
tar -zxvf git-2.21.0.tar.gz
cd git-2.21.0
yum install -y gcc
./configure --prefix=/usr/local/git
make && make install
vi /etc/profile
GIT_HOME=/usr/local/git
export PATH=$PATH:$GIT_HOME/bin
source /etc/profile
git --version
3.4 Docker
可以根据官网来执行
先清理一下
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
安装软件包
yum -y install bridge-utils
设置稳定的存储库
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
安装 Docker 引擎
yum install docker-ce docker-ce-cli containerd.io
启动docker
systemctl start docker
其他软件安装、脚本安装、特定版本安装见官网
补充下docker常用命令:
systemctl start docker //启动docker
systemctl status docker //查看docker状态
systemctl stop docker //停止docker服务
docker ps -aq // 列出所有ID
docker stop $(docker ps -aq) // 停止所有容器
docker rmi $(docker ps -aq) // 删除镜像
docker system prune -af // 回收所有资源
- 卸载
yum list installed | grep docker
yum -y remove <above>
rm -rf /var/lib/docker
ifconfig docker0 down
yum -y install bridge-utils
brctl delbr docker0
3.5 Compose
github下载
curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
由于github太慢,换daocloud下载
curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
还有pip安装方式可选
pip install docker-compose
测试安装结果
docker-compose --version
如果权限不够,修改权限
chmod +x /usr/local/bin/docker-compose
3.6 Kubect
wget https://storage.googleapis.com/kubernetes-release/release/v1.17.0/bin/linux/amd64/kubectl
mv kubectl /usr/bin/
chmod +x /usr/bin/kubectl
四、集群组件
4.1. GitLab
官网
1.搜索镜像
docker search gitlab
2.下载镜像文件
docker pull docker.io/gitlab/gitlab-ce
3.查看下载的镜像
docker images
4.在本机准备gitlab工作目录
mkdir -p /data/docker/gitlab/{config,data,logs}
5.启动
docker run -d \
--name gitlab \
--hostname gitlab \
--restart always \
-p 4443:443 -p 8888:80 -p 2222:22 \
-v /data/docker/gitlab/config:/etc/gitlab \
-v /data/docker/gitlab/data:/var/opt/gitlab \
-v /data/docker/gitlab/logs:/var/log/gitlab \
gitlab/gitlab-ce:latest
说明:
-d:后台运行
–name:设置容器的名字;
–hostname:设置容器内主机的名字;
–restart:设置容器的重启策略,可选项: no | on-failure[:max-retries] | always | unless-stopped ;
-p(小写字母):映射端口,形式:[hostPort:]containerPort,如果不加主机端口,那么会在主机上生成随机端口;
-v(小写字母):挂载目录,形式:[HOST-DIR:]CONTAINER-DIR;
6.检查启动信息
docker ps
查看本机端口
netstat -tnl
4.2 Jenkins
wget https://pkg.jenkins.io/redhat/jenkins-2.265-1.1.noarch.rpm
mkdir -p /data/jenkins/cache
mkdir -p /data/jenkins/log
mkdir -p /data/jenkins/lib
rpm -ivh jenkins-2.265-1.1.noarch.rpm
vi /etc/sysconfig/jenkins
JENKINS_PORT=<8089>
JENKINS_USER="root"
JENKINS_HOME=/data/jenkins
- 修改运行用户
chown -R root:root /data/jenkins/lib
chown -R root:root /data/jenkins/cache
chown -R root:root /data/jenkins/log
- 软连接
ln -s /usr/local/java/bin/java /usr/bin/java
ln -s /usr/local/maven/bin/mvn /usr/bin/mvn
启动jenkins
systemctl start jenkins
检查启动结果
systemctl status jenkins
查看密码
cat /data/jenkins/secrets/initialAdminPassword
4.3 Harbor
wget --no-check-certificate https://github.com/goharbor/harbor/releases/download/v2.1.1/harbor-offline-installer-v2.1.1.tgz
tar -zxvf harbor-offline-installer-v2.1.1.tgz
mv harbor /usr/local/harbor
- 修改配置
cd /usr/local/harbor
mv harbor.yml.tmpl harbor.yml
vi harbor.yml
- 修改 hostname 为主机IP
- 修改端口
- 注释 https
docker network create --driver bridge --subnet=5.5.5.0/16 --gateway=5.5.5.1 har
bor
docker load -i harbor.v2.1.1.tar.gz
./prepare
vi docker-compose.yml
- 将网络设置为添加的,最后将网络改为 default
./install.sh
cd /usr/local/harbor
docker-compose ps
docker-compose down
- 内部环境需要放开HTTPS,不然登录和拉取镜像会报证数错误
vi /etc/docker/daemon.json
{
"registry-mirrors": ["http://<ip>:<port>"],
"insecure-registries": ["<ip>:<port>"]
}
systemctl restart docker
- 启动和登录
docker-compose up -d
docker login http://<ip>:<port>
4.4 Rancher
4.5 Nacos
tar -zxvf <file>
mv nacos /usr/local/
cd /usr/local/nacos/
- 修改配置
vi conf/application.properties
./startup.sh -m standalone
- 查看日志
tail -f /usr/local/nacos/logs/start.out
待续。。。