搭建开发环境 -- linux系统
前言
默认使用vagrant 搭建环境, 此环境可以不占用本地端口,即插即用,
使用的工具有:
docker 对应的控制台工具 portainer
mysql
redis
nacos
================================================
使用vagrant 安装 linux
编写Vagrantfile 文件,如下
---------------------------------------------------------------------
Vagrant.configure("2") do |config|
(1..9).each do |i|
config.vm.define "k8s-node#{i}" do |node|
# 设置虚拟机的Box
node.vm.box = "centos/7"
# 设置虚拟机的主机名
node.vm.hostname="k8s-node#{i}"
# 设置虚拟机的IP
node.vm.network "private_network", ip: "192.168.56.#{99+i}", netmask: "255.255.255.0"
# 设置主机与虚拟机的共享目录
# node.vm.synced_folder "~/Documents/vagrant/share", "/home/vagrant/share"
# VirtaulBox相关配置
node.vm.provider "virtualbox" do |v|
# 设置虚拟机的名称
v.name = "k8s-node#{i}"
# 设置虚拟机的内存大小
v.memory = 4096
# 设置虚拟机的CPU个数
v.cpus = 4
end
end
end
end
---------------------------------------------------
使用cmd 命令 vagrant up 执行
修改/etc/sysconfig/ssh/sshd_config 文件
开启基于密码认证的远程登录 PasswordAuthentication yes
修改 /etc/sysconfig/network-scripts/ 网络配置
编写 ifcfg-eth1 文件
---------------------
#VAGRANT-BEGIN
# The contents below are automatically generated by Vagrant. Do not modify.
NM_CONTROLLED=yes
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.56.110
NETMASK=255.255.255.0
GATEWAY=192.168.56.1
DNS1=223.5.5.5
DNS2=223.6.6.6
DEVICE=eth1
PEERDNS=no
#VAGRANT-END
--------------------------
安装docker
docker 常用命令
停止正在运行的容器
docker stop nginx
删除 未在 运行的容器
docker rm nginx
删除镜像
docker rmi nginx
拉取镜像
docker pull nginx
运行镜像
docker run nginx
查看镜像
docker images
参考文档 https://docs.docker.com/engine/install/centos/
卸载 旧版本
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
安装 工具包
yum install -y yum-utils
下载地址
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
安装 社区版 docker
yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
启动 docker
systemctl start docker
安装 阿里云镜像地址
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://fbayt97z.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
开机自启动 docker
systemctl enable docker
安装 docker 控制台 portainer
docker run -p 9000:9000 -p 8000:8000 --name portainer \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /mydata/portainer/data:/data \
-d portainer/portainer
注意: -v /var/run/docker.sock:/var/run/docker.sock \ 是必备的 不可以修改的, 参考安装文档
docker 安装 mysql
------------------------------------------------------------
docker run -d -p 3306:3306 \
--restart=always \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
--name mysql mysql:5.7
------------------------------------------------------------------
编写 my.cof
----------------------------------------
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_commection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
--------------------------------------------
docker 安装 nginx
拉取并运行 nginx
docker run -d -p 80:80 --name nginx nginx
复制 nginx配置文件
docker container cp nginx:/etc/nginx .
mv nginx/ conf/
删除 nginx 后 再次运行
----------------------------------------
docker run -d -p 80:80 \
--restart=always \
-v /mydata/nginx/conf:/etc/nginx \
-v /mydata/nginx/html:/usr/share/nginx/html \
-v /mydata/nginx/log:/var/log/nginx \
-e LANG=C.UTF-8 -e LC_ALL=C.UTF-8 \
--name nginx nginx
-----------------------------
安装redis
docker run -p 6379:6379 \
--restart=always \
--name redis \
-v /mydata/redis/redis.conf:/etc/redis/redis.conf \
-v /mydata/redis/data:/data \
-d redis redis-server /etc/redis/redis.conf --appendonly yes --requirepass 123456