• win10使用vagrant构建虚拟机


    ()一、安装软件准备本地环境

    1、下载安装 VirtualBox

    (1)VirtualBox官网地址

    Downloads – Oracle VM VirtualBox

    (2)下载主机和扩展包

    (3)快速安装后直接运行 

    2、下载安装 Vagrant

    (1)Vagrant官网地址

    Downloads | Vagrant by HashiCorp

    (2)下载Windows-AMD64版本

    (3)使用默认配置快速安装

    安装位置可改可不改

    (4)安装完成后需要重启

    3、下载安装Xshell免费版

    (1)Xshell免费版官网地址 

    家庭/学校免费 - NetSarang Website

    (2)快速安装Xshell和Xftp

    二、通过Vagrant构建虚拟机

    1、创建文件夹并配置

    (1)创建一个空文件夹

    (2)VirtualBox全局设定

     (3)进入文件夹打开cmd 

    2、cmd配置vagrant镜像box

    查看box列表

    vagrant box list

     

    删除box

    vagrant box remove 

    新增box

    vagrant box add centos7 https://mirrors.ustc.edu.cn/centos-cloud/centos/7/vagrant/x86_64/images/CentOS-7.box

    2、当前目录创建虚拟机

    vagrant init centos7

    目录下多了个文件 

    3、启动当前目录虚拟机

    vagrant up

    目录下多了个文件夹

    VirtualBox可以看到虚拟机正在运行 ,说明虚拟机创建成功并可以正常运行

     

    4、cmd窗口ssh登录虚拟机

    vagrant ssh

    (1)登录成功

     

    (2)登录报错

    请执行以下命令后重试:

    set VAGRANT_PREFER_SYSTEM_BIN=0

    (3)退出登录

    exit

    5、其他操作虚拟机命令

    vagrant 虚拟机的四个state:

    running(运行),poweroff(关机),saved(保存),not created(未创建)

    查看当前目录下vagrant实例状态 

    vagrant status

     查看本机上所有vagrant实例状态

    vagrant global-status

    启动:vagrant up,执行后状态是 running

    停止:vagrant halt,执行后状态是 poweroff

    暂停:vagrant suspend,执行后状态是 saved

    重启:vagrant reload,执行后状态是 running

    销毁:vagrant destroy,执行后状态是 not created

    创建在其他目录下的虚拟机指定ID可以直接删掉:

    剩下这个virtualbox目录下的虚拟机实例删不掉,并且状态是“not created”,不知道什么鬼 

    三、通过Xshell登录虚拟机

    1、启动时显示的默认配置

    2、根据默认配置新建会话

    3、接收并保存检测到的秘钥 

     

     4、输入默认登录名vagrant

    5、选择已保存的用户秘钥

    * 如果秘钥被误删重新导入

    先找到vagrant秘钥文件本地存放位置

    vagrant ssh-config

     

    找到秘钥文件选中点击打开 

    用户秘钥就又回来了 

    6、记住密码确定登录 

    7、vagrant用户切换到root

    su root

    默认密码是vagrant

     

    8、更新yum安装工具包

    1. yum update
    2. yum install -y yum-utils

    9、安装vim编辑器

    yum -y install vim

    四、安装Docker(root操作)

    1、清理docker文件

    1. yum remove docker \
    2.           docker-client \
    3.           docker-client-latest \
    4.           docker-common \
    5.           docker-latest \
    6.           docker-latest-logrotate \
    7.           docker-logrotate \
    8.           docker-engine

    2、添加docker镜像仓库

    yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    yum makecache fast

     3、安装docker镜像

    yum install -y docker-ce docker-ce-cli containerd.io

    4、启动docker并设置

    启动: 

    systemctl start docker

     设置开机自启(随vagrant虚拟机启动而启动):

    systemctl enable docker

    5、其他docker自身命令

    停止:

    systemctl stop docker

    重启:

    systemctl restart  docker

    查看版本: 

    docker version

    五、docker安装容器化软件

    1、常用命令

    1. # 检索远程仓库相关镜像
    2. docker search xxx
    3. # 不指定版本号时拉取最新镜像
    4. docker pull xxx
    5. # 拉取指定版本镜像
    6. docker pull xxx:版本号
    7. # 查看本地已拉取的镜像
    8. docker images
    9. # 根据镜像创建容器并运行
    10. docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
    11. -d, --detach=false, 指定容器运行于前台还是后台,默认为false
    12. -i, --interactive=false, 打开STDIN,用于控制台交互
    13. -t, --tty=false, 分配tty设备,该可以支持终端登录,默认为false
    14. -p, --publish=[], 指定宿主机和Docker端口映射,冒号前为宿主机端口号,后为docker端口号
    15. -e, --env=[], 指定环境变量,容器中可以使用该环境变量
    16. -u, --user="", 指定容器的用户
    17. -w, --workdir="", 指定容器的工作目录
    18. -c, --cpu-shares=0, 设置容器CPU权重,在CPU共享场景使用
    19. -m, --memory="", 指定容器的内存上限
    20. -h, --hostname="", 指定容器的主机名
    21. -v, --volume=[], 给容器挂载存储卷,挂载到容器的某个目录
    22. --name="", 指定容器名字,后续可以通过名字进行容器管理,links特性需要使用名字
    23. --volumes-from=[], 给容器挂载其他容器上的卷,挂载到容器的某个目录
    24. --cap-add=[], 添加权限,权限清单详见:http://linux.die.net/man/7/capabilities
    25. --cap-drop=[], 删除权限,权限清单详见:http://linux.die.net/man/7/capabilities
    26. --cidfile="", 运行容器后,在指定文件中写入容器PID值,一种典型的监控系统用法
    27. --cpuset="", 设置容器可以使用哪些CPU,此参数可以用来容器独占CPU
    28. --device=[], 添加主机设备给容器,相当于设备直通
    29. --dns=[], 指定容器的dns服务器
    30. --dns-search=[], 指定容器的dns搜索域名,写入到容器的/etc/resolv.conf文件
    31. --entrypoint="", 覆盖image的入口点
    32. --env-file=[], 指定环境变量文件,文件格式为每行一个环境变量
    33. --expose=[], 指定容器暴露的端口,即修改镜像的暴露端口
    34. --link=[], 指定容器间的关联,使用其他容器的IP、env等信息
    35. --lxc-conf=[], 指定容器的配置文件,只有在指定--exec-driver=lxc时使用
    36. --net="bridge", 容器网络设置:
    37. bridge 使用docker daemon指定的网桥
    38. host //容器使用主机的网络
    39. container:NAME_or_ID >//使用其他容器的网路,共享IP和PORT等网络资源
    40. none 容器使用自己的网络(类似--net=bridge),但是不进行配置
    41. --restart="no", 指定容器停止后的重启策略:
    42. no:容器退出时不重启
    43. on-failure:容器故障退出(返回值非零)时重启
    44. always:容器退出时总是重启
    45. --rm=false, 指定容器停止后自动删除容器(不支持以docker run -d启动的容器)
    46. # 查看正在运行的容器
    47. docker ps
    48. # 查看所有创建的容器
    49. docker ps -a
    50. # 停止指定容器运行
    51. docker stop 容器ID
    52. # 强制删除指定容器
    53. docker rm -f 容器ID

    2、安装redis

    1. docker pull redis
    2. docker images
    3. docker run -itd --name redis_01 -p 6379:6379 redis:latest --requirepass abc@123
    4. docker ps

    3、安装postgresql

    1. docker pull postgres
    2. docker images
    3. docker run -itd --name pgsql_01 -p 5432:5432 -e POSTGRES_PASSWORD=abc@123 postgres
    4. docker ps

    (1)进入容器内部bash登录

    1. # 进入name为pgsql_01的容器,交互方式为bash
    2. docker exec -it pgsql_01 bash
    3. # 指定登录用户postgres
    4. psql -U postgres -W
    5. # 输入创建容器时设置的密码
    6. abc@123
    7. # 退出postgresql
    8. quit;
    9. # 退出bash
    10. exit

    4、安装mysql

    1. docker pull mysql
    2. docker images
    3. docker run -itd --name mysql_01 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=abc@123 mysql:latest
    4. docker ps

    (1)进入容器内部bash登录

    1. # 进入name为mysql_01的容器,交互方式为bash
    2. docker exec -it mysql_01 bash
    3. # 指定登录用户root
    4. mysql -uroot -p
    5. # 输入创建容器时设置的密码
    6. abc@123
    7. # 退出mysql(分号不能省略)
    8. quit;
    9. # 退出bash(分号可省略)
    10. exit;

    操作演示:

    (2)navicat使用ssh连接登录

    新建连接选择mysql类型 

    主机:localhost

    端口:3306

    用户名:mysql默认用户root

    密码:docker创建mysql容器时设的密码:abc@123

     

    配置ssh隧道(Xshell登录虚拟机的配置)

    主机:127.0.0.1

    端口:2222

    用户名:vagrant

    验证方法:公钥

    私钥地址:选择vagrant创建虚拟机时生成的私钥文件 

     

    5、安装rabbitmq

    1. docker pull rabbitmq:3-management
    2. docker run -itd --name rabbitmq_01 -p 15672:15672 -p 5672:5672 -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=abc@123 rabbitmq:3-management
    3. docker ps

    管理页URL:http://localhost:15672

  • 相关阅读:
    牛客刷题总结——Python入门08:面向对象、正则表达式
    Java核心编程(19)
    小白也能看懂的 ROC 曲线详解
    学习Uni-app开发小程序Day5
    【STM32】文件系统FATFS与Flash的初步使用
    高效的软件测试策略指南
    JS手写set与map
    平台登录页面实现(一)
    Jmeter —— jmeter参数化实现
    安装Ubuntu 系统
  • 原文地址:https://blog.csdn.net/Lyh_2015/article/details/126782077