亲测可用:
使用vagrant在virtualBox中安装linux虚拟机:
初始化:vagrant init centos/7(根据镜像名字初始化,创建了一个vagrantfile文件)
启动:vagrant up(根据vagrantfile下载镜像,需要在有vagrantfile文件的目录下启动)
下载慢 直接下载放到liuyang文件下
连接:vagrant ssh(whoami查看当前登录用户,exit退出连接)
关闭:在virtualbox中关闭虚拟机
再次启动:vagrant up
修改配置文件:config.vm.network “private_network”, ip: “101.42.221.186” 一般直接copy上一行 再36行
3.重启vagrant reload(在virtualBox中重启无效)
4.验证:ip addr,互相ping
1.连接:vagrant ssh
2.切换:su root(密码:vagrant)
3.修改允许密码连接
vi /etc/ssh/sshd_config
PasswordAuthentication yes
i(编辑模式)
esc
:wq(保存退出)
reboot
4.xshell连接 101.42.221.186
账号密码:vagrant/vagrant
root/vagrant
5.切换root:su root
1.ip addr查看哪个网卡使用了101.42.221.186 ip
查看结果是enth1使用
2.修改配置
cd /etc/sysconfig/network-scripts/
vi ifcfg-eth1
增加以下三行:
GATEWAY=192.168.56.1
DNS1=114.114.114.114
DNS2=8.8.8.8
3.重启网卡
service network restart
yum加速:
1.备份原yum源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
2.使用新yum源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
3.生成缓存
yum makecache
4.安装
yum -y install wget
yum -y install unzip
docker 安装:
1.Uninstall old versions(卸载旧版本):
sudo yum remove docker
docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-engine
2.Set up the repository(安装相关依赖):
sudo yum install -y yum-utils
3.设置镜像地址(用于加速下载docker用,并非docker image镜像)
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
异常:下载docker的镜像报错fastmirror
解决:
vi /etc/yum/pluginconf.d/fastestmirror.conf(修改 enable=1 为 enable=0)
vi /etc/yum.conf(修改 plugins=1 为 plugins=0)
yum clean all
rm -rf /var/cache/yum
yum makecache
4.安装docker
sudo yum install -y docker-ce docker-ce-cli containerd.io
5、启动docker
设置开机自启:sudo systemctl enable docker
启动:sudo systemctl start docker
6、测试
docker -v
docker:常见命令
1、查看已启动镜像:docker images
查看已运行容器:docker ps
2、查看所有镜像:docker images -a
3、启动docker:sudo systemctl start docker
4、虚拟机开机启动:sudo systemctl enable docker
5、设置自动启动容器:sudo docker update mysql --restart=always
6、启动已存在的容器或重启容器,例:
1)查看容器的id或name:docker ps -a
2)重启restart id或name【重启就代表启动了】:
docker restart 1b4671904bfa
docker restart mysql
7、终止容器:docker stop redis
8、删除容器:docker rm redis
9、进入容器的运行时环境
进入mysql:docker exec -it mysql /bin/bash
进入redis:docker exec -it redis redis-cli
进入redis:docker exec -it redis /bin/sh
whereis mysql
10、退出容器运行时环境:exit
11、虚拟机开机自动启动mysql:sudo docker update mysql --restart=always
docker加速配置:
1.登录阿里云:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
2.镜像加速器->centos(依次执行以下命令)
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-‘EOF’
{
“registry-mirrors”: [“https://xxxxxxx.mirror.aliyuncs.com”]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
配置mysql:
步骤:
1.拉取镜像:
sudu docker pull mysql:5.7
2.查看已拉取的镜像
docker images
3.启动一个容器
docker run -p 3306:3306 --name mysql
-v /mydata/mysql/log:/var/log/mysql
-v /mydata/mysql/data:/var/ib/mysql
-v /mydata/mysql/conf:/etc/mysql
-e MYSQL_ROOT_PASSWORD=root
-d mysql:5.7
参数说明(下面提到的主机指的是虚拟机)
-p 3306:3306:将容器的3306端口映射到主机的3306端口
–name 当前启动的容器 设置名字
-v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂载到主机
-v /mydata/mysql/log:/var/log/mysgl:将日志文件夹挂载到主机
-v /mydata/mysql/data:/var/ib/mysql/:将配置文件夹挂载到主机
-e MYSQL_ROOT_PASSWORD=root: 初始化root用户的密码
-d 后台启动
mysql:5.7: 该容器所使用的镜像
4、远程无法连接mysql【没有修改远程授权】https://blog.csdn.net/scarecrow__/article/details/81556845
解决:进入容器连接mysql修改授权
1)进入mysql容器:docker exec -it mysql /bin/bash
2)连入mysql:mysql -uroot -proot
3)查询:select host,user,plugin,authentication_string from mysql.user;
找到user为root的两列,
%:表示不限制ip的配置
localhost:表示本地连接的配置
plugin数据非mysql_native_password表示要修改密码
执行以下语句:
ALTER USER ‘root’@‘%’ IDENTIFIED WITH mysql_native_password BY ‘root’;
5、远程无法连接mysql:修改root用户远程访问权限
“password”填写密码 root
grant all privileges on . to root@“%” identified by “123456” with grant option;
6、修改mysql字符集
vi /mydata/mysql/conf/my.cnf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect=‘SET collation_connection = 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
7、重启:docker restart mysql
8、虚拟机开机自动启动mysql容器
sudo docker update mysql --restart=always
配置redis:
步骤:
1.拉取镜像:docker pull redis
2.坑:使用-v命令挂载时,主机会把redis.conf当做目录创建,所以先将改文件创建好
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
开启redis持久化:
vi /mydata/redis/conf/redis.conf
appendonly yes
3.启动容器
docker run -p 6379:6379 --name redis
-v /mydata/redis/data:/data
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf
-d redis redis-server /etc/redis/redis.conf
参数说明:
redis-server /etc/redis/redis.conf:该容器redis-server使用/etc/redis/redis.conf配置文件启动
4、自启动:sudo docker update redis --restart=always
docker restart redis
5、终止容器:docker stop redis
删除容器:docker rm redis
6、连接redis:
1)进入容器内部连接:
docker exec -it redis /bin/bash
redis-cli -p 6379
2)使用客户端连接:
docker exec -it redis redis-cli
3)外部windows可视化客户端连接6379端口
docker pull elasticsearch:7.4.2
docker pull kibana:7.4.2
mkdir -p /mydata/elasticsearch/config
mkdir -p /mydata/elasticsearch/data
chmod -R 777 /mydata/elasticsearch/
echo “http.host: 0.0.0.0” >/mydata/elasticsearch/config/elasticsearch.yml
docker run --name elasticsearch -p 9200:9200 -p 9300:9300
-e “discovery.type=single-node”
-e ES_JAVA_OPTS=“-Xms64m -Xmx512m”
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins
-d elasticsearch:7.4.2
docker update elasticsearch --restart=always
docker run --name kibana
-e ELASTICSEARCH_HOSTS=http://192.168.163.131:9200
-p 5601:5601
-d kibana:7.4.2
docker update kibana --restart=always