1. 下载vagrant 并安装,安装完成后,输入vagrant回车查看是否安装成功

2. 下载virtualbox.box并安装,安装完成后。

3. 创建虚拟机文件夹,例如、F:/vmimg/first-docker-centos 在此目录下运行 vagrant init 生成Vagrantfile文件(可以自定义一些属性)

 

然后绑定centos的操作系统镜像virtualbox.box所在路径 

F:\vmimg\first-docker-centos>vagrant box add centos/7 E:\BaiduNetdiskDownload\centos7.0\virtualbox.box
==> box: Box file was not detected as metadata. Adding it directly...
==> box: Adding box 'centos/7' (v0) for provider:
    box: Unpacking necessary files from: file:///E:/BaiduNetdiskDownload/centos7.0/virtualbox.box
    box:
==> box: Successfully added box 'centos/7' (v0) for 'virtualbox'!

输入vagrant list 查看当前box

F:\vmimg\first-docker-centos>vagrant box list
centos/7 (virtualbox, 0)

然后输入vagrant up命令创建并启动虚拟机

F:\vmimg\first-docker-centos>vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'centos/7'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: lf-centos7
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: bridged
==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default:
    default: Vagrant insecure key detected. Vagrant will automatically replace
    default: this with a newly generated keypair for better security.
    default:
    default: Inserting generated public key within guest...
    default: Removing insecure key from the guest if it's present...
    default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
    default: No guest additions were detected on the base box for this VM! Guest
    default: additions are required for forwarded ports, shared folders, host only
    default: networking, and more. If SSH fails on this machine, please install
    default: the guest additions and repackage the box to continue.
    default:
    default: This is not an error message; everything may continue to work properly,
    default: in which case you may ignore this message.
==> default: Configuring and enabling network interfaces...
==> default: Rsyncing folder: /cygdrive/f/vmimg/first-docker-centos/ => /vagrantF:\vmimg\first-docker-centos>

vagrant ssh 进入虚拟主机

F:\vmimg\first-docker-centos>vagrant ssh
[vagrant@localhost ~]$ sudo -i   切换到根目录
[root@localhost ~]# ip a   查看虚拟机ip等信息
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 52:54:00:8a:fe:e6 brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.15/24 brd 10.0.2.255 scope global noprefixroute dynamic eth0
       valid_lft 83487sec preferred_lft 83487sec
    inet6 fe80::5054:ff:fe8a:fee6/64 scope link
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:4c:de:2e brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.104/24 brd 192.168.1.255 scope global noprefixroute dynamic eth1
       valid_lft 7018sec preferred_lft 7018sec
    inet6 fe80::a00:27ff:fe4c:de2e/64 scope link
       valid_lft forever preferred_lft forever

 

本机cmd 

C:\Users\admin>ping 192.168.1.104
正在 Ping 192.168.1.104 具有 32 字节的数据:
来自 192.168.1.104 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.1.104 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.1.104 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.1.104 的回复: 字节=32 时间<1ms TTL=64192.168.1.104 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 0ms,最长 = 0ms,平均 = 0msexit退出到下面目录
F:\vmimg\first-docker-centos>vagrant ssh-config  查看配置信息
Host default
  HostName 127.0.0.1
  User vagrant
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no  
  IdentityFile F:/vmimg/first-docker-centos/.vagrant/machines/default/virtualbox/private_key
  IdentitiesOnly yes
  LogLevel FATAL

登录设置

vagrant ssh 见使用root用户登录:

查看centos一些相关信息

F:\vmimg\first-docker-centos>vagrant ssh-config
Host default
  HostName 127.0.0.1
  User vagrant
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile F:/vmimg/first-docker-centos/.vagrant/machines/default/virtualbox/private_key
  IdentitiesOnly yes
  LogLevel FATAL

Xshell连接:

Ip:127.0.0.1
port:2222
username:vagrant
password:vagrant
文件 identityfile所指向的路径

使用root用户登录:

sudu -i
vi /etc/ssh/sshd_config  查找 ESC /  输入Pass 回车 找到后 按i 修改
修改PasswordAuthentication yes  按esc :wq保存即可
命令行输入passwd修改密码 root1234   账号 root  密码 root1234
systemctl restart sshd
root vagrant 登录

BOX打包分发:

01退出虚拟机  vagrant halt
02打包 vagrant package --output first-docker-centos.box
03得到first-docker-centos.box
04 将first-docker-centos.box添加到其他vagrant环境中

  vagrant box add first-docker-centos first-docker-centos.box

05 得到vagrantfile

  vagrant init  first-docker-centos

06 根据vagrantfile启动虚拟机

  vagrant up (网络可能需要从新配置,运行完成就能看到vm virtualbox里面有了虚拟机)

安装docker

1.进入centos7 

vagrant ssh

2.卸载之前的docker

$ sudo yum remove docker  docker-common docker-selinux docker-engine

3.安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2

4.设置yum源

$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

 

阿里云还可以根据账号生成镜像加速器

https://promotion.aliyun.com

1、docker添加阿里云镜像加速器
登录aliyun

2、配置阿里云加速器
阿里云会根据账号生成一个账号加速器地址,例如:
https://k9e55i4n.mirror.aliyuncs.com

将加速器地址配置到docker的daemon.json文件中:
# 编辑daemon.json
vim /etc/docker/daemon.json
# 设置加速器地址
{
  "registry-mirrors": ["https://k9e55i4n.mirror.aliyuncs.com"]
}
查看设置
cat /etc/docker/daemon.json
最后重新加载和重启docker:
systemctl daemon-reload
systemctl restart docker
下载镜像慢的话一定要设置

如果设置了阿里云的镜像加速下载一些比较大的镜像如 pxc还慢

解决办法:

1.我是默认安装的,文件是这个/etc/docker/daemon.json

直接进去修改
{ "registry-mirrors" :["https://docker.mirrors.ustc.edu.cn"]}
以下都可以替换上面的网址,个人比较喜欢科大的
国内较快的镜像原地址:
#Docker 官方中国区:https://registry.docker-cn.com
#网易 http://hub-mirror.c.163.com
#ustc中国科技大学 https://docker.mirrors.ustc.edu.cn
参考我改过的配置,下载速度哗哗的

{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn","http://hub-mirror.c.163.com"]
}

7、安装docker

$ sudo yum install docker-ce docker-ce-cli containerd.io

报错:

vi dockerfile 怎么推出_docker

 

 执行如下命令,一路y即可

yum erase podman buildah

8、启动并加入开机启动

$ sudo systemctl start docker
$ sudo systemctl enable docker

9、查看docker是否安装成功(有client和service两部分表示docker安装启动都成功了)

$ docker version