Contos 安装 Vmware 卸载失败

虚拟化技术tctang 发表了文章 • 0 个评论 • 60 次浏览 • 2017-12-25 15:30 • 来自相关话题

The vmware installer could not shut down all running virtual machines. if you have ACE VMs open, please shut them down or suspend them now and press 'Retry' to continue.解决方法:打包另一台安装了同一版本的vmware,打包文件:usr/lib/vmware /usr/lib/vmware-installer /usr/lib/vmware-ovftool /usr/lib/vmware-vix ,然后删除卸载失败的那一台机的文件,解压即可,最后执行 vmware-installer --uninstall-product vmware-workstation 
  查看全部
The vmware installer could not shut down all running virtual machines. if you have ACE VMs open, please shut them down or suspend them now and press 'Retry' to continue.
解决方法:打包另一台安装了同一版本的vmware,打包文件:usr/lib/vmware /usr/lib/vmware-installer /usr/lib/vmware-ovftool /usr/lib/vmware-vix ,然后删除卸载失败的那一台机的文件,解压即可,最后执行 vmware-installer --uninstall-product vmware-workstation 
 

Docker 镜像加速器

Othersnarci 发表了文章 • 1 个评论 • 56 次浏览 • 2017-12-24 09:16 • 来自相关话题

Docker 镜像加速器

我们使用Docker的第一步,应该是获取一个官方的镜像,例如mysql、wordpress,基于这些基础镜像我们可以开发自己个性化的应用。我们可以使用Docker命令行工具来下载官方镜像。
但是因为网络原因,我们下载一个300M的镜像需要很长的时间,甚至下载失败。因为这个原因,阿里云容器Hub服务提供了官方的镜像站点加速官方镜像的下载速度。

使用镜像加速器

在不同的系统下面,配置加速器的方式有一些不同,所以我们介绍主要的几个操作系统的配置方法。
关于加速器的地址,你只需要登录容器Hub服务的控制台,左侧的加速器帮助页面就会显示为你独立分配的加速地址。例如: 公网Mirror:[系统分配前缀].mirror.aliyuncs.com当你的docker版本较新时

当你下载安装的Docker Version不低于1.10时,建议直接通过daemon config进行配置。
使用配置文件 /etc/docker/daemon.json(没有时新建该文件){ "registry-mirrors": ["<your accelerate address>"] }重启Docker Daemon就可以了。

当你的docker版本较旧时

只能根据系统的不同修改对应的配置文件了。

Ubuntu 12.04 14.04

Ubuntu的配置文件的位置在 /etc/default/docker
你只需要在这个配置文件,添加加速器的配置项,重启Docker就可以了echo "DOCKER_OPTS=\"\$DOCKER_OPTS --registry-mirror=<your accelerate address>\"" | sudo tee -a /etc/default/docker sudo service docker restartUbuntu 15.04 15.10

Ubuntu 15.04 之后的加速器配置方式有了一些变化
Ubuntu的配置文件的位置在 /etc/systemd/system/docker.service.d/目录下
在这个目录下创建任意的*.conf文件就可以作为配置文件。然后在这个配置文件,添加加速器的配置项,重启Docker就可以了sudo mkdir -p /etc/systemd/system/docker.service.d sudo tee /etc/systemd/system/docker.service.d/mirror.conf <<-'EOF' [Service] ExecStart= ExecStart=/usr/bin/docker daemon -H fd:// --registry-mirror=<your accelerate address> EOF sudo systemctl daemon-reload sudo systemctl restart dockerCentOS 7

CentOS的配置方式略微复杂,需要先将默认的配置文件复制出来
/lib/systemd/system/docker.service -> /etc/systemd/system/docker.service
然后再将加速器地址添加到配置文件的启动命令
重启Docker就可以了。sudo cp -n /lib/systemd/system/docker.service /etc/systemd/system/docker.service sudo sed -i "s|ExecStart=/usr/bin/docker daemon|ExecStart=/usr/bin/docker daemon --registry-mirror=<your accelerate address>|g" /etc/systemd/system/docker.service sudo sed -i "s|ExecStart=/usr/bin/dockerd|ExecStart=/usr/bin/dockerd --registry-mirror=<your accelerate address>|g" /etc/systemd/system/docker.service sudo systemctl daemon-reload sudo service docker restartRedhat 7

Redhat 7配置加速器的方式与其他系统都不一样,需要编辑/etc/sysconfig/docker配置文件。
在OPTIONS配置项中添加加速器配置--registry-mirror=<your accelerate address>
最后sudo service docker restart重启docker daemon。

Redhat 6、CentOS 6

在这两个系统上没有办法直接安装Docker,需要升级内核。
配置加速器的方式和上一个配置类似,也是通过编辑/etc/sysconfig/docker配置文件。
在other_args配置项中添加加速器配置--registry-mirror=<your accelerate address>
最后sudo service docker restart重启docker daemon。

Docker Toolbox

在Windows、Mac系统上使用Docker Toolbox使用Docker的话
推荐做法是在创建Linux虚拟机的时候,就将加速器的地址配置进去docker-machine create --engine-registry-mirror=<your accelerate address> -d virtualbox default docker-machine env default eval "$(docker-machine env default)" docker info如果你已经通过docker-machine创建了虚拟机的话,则需要通过登录机器修改配置了
首先通过docker-machine ssh <machine-name>登录虚拟机
然后修改/var/lib/boot2docker/profile文件,将--registry-mirror=<your accelerate address>添加到EXTRA_ARGS中
最后sudo /etc/init.d/docker restart重启Docker服务就可以了

注意

文中的加速器地址<your accelerate address>,请到容器Hub服务控制台查看 查看全部
Docker 镜像加速器

我们使用Docker的第一步,应该是获取一个官方的镜像,例如mysql、wordpress,基于这些基础镜像我们可以开发自己个性化的应用。我们可以使用Docker命令行工具来下载官方镜像。
但是因为网络原因,我们下载一个300M的镜像需要很长的时间,甚至下载失败。因为这个原因,阿里云容器Hub服务提供了官方的镜像站点加速官方镜像的下载速度。

使用镜像加速器

在不同的系统下面,配置加速器的方式有一些不同,所以我们介绍主要的几个操作系统的配置方法。
关于加速器的地址,你只需要登录容器Hub服务的控制台,左侧的加速器帮助页面就会显示为你独立分配的加速地址。例如: 公网Mirror:[系统分配前缀].mirror.aliyuncs.com当你的docker版本较新时

当你下载安装的Docker Version不低于1.10时,建议直接通过daemon config进行配置。
使用配置文件 /etc/docker/daemon.json(没有时新建该文件){ "registry-mirrors": ["<your accelerate address>"] }重启Docker Daemon就可以了。

当你的docker版本较旧时

只能根据系统的不同修改对应的配置文件了。

Ubuntu 12.04 14.04

Ubuntu的配置文件的位置在 /etc/default/docker
你只需要在这个配置文件,添加加速器的配置项,重启Docker就可以了echo "DOCKER_OPTS=\"\$DOCKER_OPTS --registry-mirror=<your accelerate address>\"" | sudo tee -a /etc/default/docker sudo service docker restartUbuntu 15.04 15.10

Ubuntu 15.04 之后的加速器配置方式有了一些变化
Ubuntu的配置文件的位置在 /etc/systemd/system/docker.service.d/目录下
在这个目录下创建任意的*.conf文件就可以作为配置文件。然后在这个配置文件,添加加速器的配置项,重启Docker就可以了sudo mkdir -p /etc/systemd/system/docker.service.d sudo tee /etc/systemd/system/docker.service.d/mirror.conf <<-'EOF' [Service] ExecStart= ExecStart=/usr/bin/docker daemon -H fd:// --registry-mirror=<your accelerate address> EOF sudo systemctl daemon-reload sudo systemctl restart dockerCentOS 7

CentOS的配置方式略微复杂,需要先将默认的配置文件复制出来
/lib/systemd/system/docker.service -> /etc/systemd/system/docker.service
然后再将加速器地址添加到配置文件的启动命令
重启Docker就可以了。sudo cp -n /lib/systemd/system/docker.service /etc/systemd/system/docker.service sudo sed -i "s|ExecStart=/usr/bin/docker daemon|ExecStart=/usr/bin/docker daemon --registry-mirror=<your accelerate address>|g" /etc/systemd/system/docker.service sudo sed -i "s|ExecStart=/usr/bin/dockerd|ExecStart=/usr/bin/dockerd --registry-mirror=<your accelerate address>|g" /etc/systemd/system/docker.service sudo systemctl daemon-reload sudo service docker restartRedhat 7

Redhat 7配置加速器的方式与其他系统都不一样,需要编辑/etc/sysconfig/docker配置文件。
在OPTIONS配置项中添加加速器配置--registry-mirror=<your accelerate address>
最后sudo service docker restart重启docker daemon。

Redhat 6、CentOS 6

在这两个系统上没有办法直接安装Docker,需要升级内核。
配置加速器的方式和上一个配置类似,也是通过编辑/etc/sysconfig/docker配置文件。
在other_args配置项中添加加速器配置--registry-mirror=<your accelerate address>
最后sudo service docker restart重启docker daemon。

Docker Toolbox

在Windows、Mac系统上使用Docker Toolbox使用Docker的话
推荐做法是在创建Linux虚拟机的时候,就将加速器的地址配置进去docker-machine create --engine-registry-mirror=<your accelerate address> -d virtualbox default docker-machine env default eval "$(docker-machine env default)" docker info如果你已经通过docker-machine创建了虚拟机的话,则需要通过登录机器修改配置了
首先通过docker-machine ssh <machine-name>登录虚拟机
然后修改/var/lib/boot2docker/profile文件,将--registry-mirror=<your accelerate address>添加到EXTRA_ARGS中
最后sudo /etc/init.d/docker restart重启Docker服务就可以了

注意

文中的加速器地址<your accelerate address>,请到容器Hub服务控制台查看

Windows 上的 Docker 引擎

Othersnarci 发表了文章 • 1 个评论 • 73 次浏览 • 2017-12-24 08:54 • 来自相关话题

Windows 中不含 Docker 引擎和客户端,需要单独进行安装和配置。 此外,Docker 引擎可以接受多种自定义配置。 例如,可以配置守护程序接受传入请求的方式、默认网络选项及调试/日志设置。 在 Windows 上,这些配置可以在配置文件中指定,或者通过使用 Windows 服务控制管理器指定。 此文档将详细阐述如何安装和配置 Docker 引擎,还会提供一些通用配置的示例。
安装 Docker
若要使用 Window 容器,则需要安装 Docker。 Docker 由 Docker 引擎 (dockerd.exe) 和 Docker 客户端 (docker.exe) 组成。 快速入门指南中提供了安装所有内容的最简方法。 指南将帮助设置所有项目并运行首个容器。
Windows Server 2016 上的 Windows 容器
Windows 10 上的 Windows 容器
手动安装

若要改用 Docker 引擎和客户端的开发中版本,可遵循后续步骤。 这将安装 Docker 引擎和客户端。 如果你是一名测试新功能或使用 Windows 预览体验成员版本的开发人员,你可能需要使用 Docker 开发中版本。 否则,请按照上述安装 Docker 部分中的步骤获取最新发布的版本。
如果已安装 Docker for Windows,请务必在执行以下手动安装步骤之前将其删除。
下载 Docker 引擎
https://master.dockerproject.org 始终提供最新版本。 此示例使用来自主分支的最新版本。
PowerShell

复制
$version = (Invoke-WebRequest -UseBasicParsing https://raw.githubusercontent. ... ERSION).Content.Trim()
Invoke-WebRequest "https://master.dockerproject.o ... cker-$($version).zip" -OutFile "$env:TEMP\docker.zip" -UseBasicParsing
将 Zip 存档扩展到“Program Files”。
PowerShell

复制
Expand-Archive -Path "$env:TEMP\docker.zip" -DestinationPath $env:ProgramFiles
将 Docker 目录添加到系统路径。 添加完成后,重启 PowerShell 会话以识别已修改的路径。
PowerShell

复制
# Add path to this PowerShell session immediately
$env:path += ";$env:ProgramFiles\Docker"

# For persistent use after a reboot
$existingMachinePath = [Environment]::GetEnvironmentVariable("Path",[System.EnvironmentVariableTarget]::Machine)
[Environment]::SetEnvironmentVariable("Path", $existingMachinePath + ";$env:ProgramFiles\Docker", [EnvironmentVariableTarget]::Machine)
若要将 Docker 安装为一个 Windows 服务,请运行以下命令。

复制
dockerd --register-service
安装完成后,可以启动该服务。
PowerShell

复制
Start-Service Docker
安装容器映像后才可以使用 Docker。 有关详细信息,请参阅映像使用快速入门指南。
使用配置文件配置 Docker
在 Windows 上配置 Docker 引擎的首选方法是使用配置文件。 可在“C:\ProgramData\Docker\config\daemon.json”中找到配置文件。 如果此文件还不存在,可以创建此文件。
注意:并非所有可用的 Docker 配置选项在 Windows 上的 Docker 中都适用。 以下示例列出了可用的选项。 有关 Docker 引擎配置的完整文档,请参阅 Docker 守护程序配置文件。

复制
{
    "authorization-plugins": [],
    "dns": [],
    "dns-opts": [],
    "dns-search": [],
    "exec-opts": [],
    "storage-driver": "",
    "storage-opts": [],
    "labels": [],
    "log-driver": "", 
    "mtu": 0,
    "pidfile": "",
    "graph": "",
    "cluster-store": "",
    "cluster-advertise": "",
    "debug": true,
    "hosts": [],
    "log-level": "",
    "tlsverify": true,
    "tlscacert": "",
    "tlscert": "",
    "tlskey": "",
    "group": "",
    "default-ulimits": {},
    "bridge": "",
    "fixed-cidr": "",
    "raw-logs": false,
    "registry-mirrors": [],
    "insecure-registries": [],
    "disable-legacy-registry": false
}
只需将想要进行的配置更改添加到配置文件即可。 例如,此示例中将 Docker 引擎配置为接受端口 2375 传入的连接。 其他所有配置选项将使用默认值。

复制
{
    "hosts": ["tcp://0.0.0.0:2375"]
}
同样,此示例将配置 Docker 守护程序以将图像和容器保存在备用路径。 如果未指定,默认路径为 c:\programdata\docker。

复制
{    
    "graph": "d:\\docker"
}
同样,此示例将 Docker 守护程序配置为仅接受通过端口 2376 的安全连接。

复制
{
    "hosts": ["tcp://0.0.0.0:2376", "npipe://"],
    "tlsverify": true,
    "tlscacert": "C:\\ProgramData\\docker\\certs.d\\ca.pem",
    "tlscert": "C:\\ProgramData\\docker\\certs.d\\server-cert.pem",
    "tlskey": "C:\\ProgramData\\docker\\certs.d\\server-key.pem",
}
在 Docker 服务上配置 Docker
还可以通过使用 sc config 修改 Docker 服务来配置 Docker 引擎。 使用此方法时将直接在 Docker 服务上设置 Docker 引擎的标记。 在命令提示符(cmd.exe 而非 PowerShell)中运行以下命令:

复制
sc config docker binpath= "\"C:\Program Files\docker\dockerd.exe\" --run-service -H tcp://0.0.0.0:2375"
注意:如果 daemon.json 文件已经包含 "hosts": ["tcp://0.0.0.0:2375"] 条目,则无需运行此命令。
通用配置
以下配置文件示例演示了通用的 Docker 配置。 这些配置可以并入单个配置文件。
创建默认网络

若要将 Docker 引擎配置为不创建默认 NAT 网络,请运行以下操作。 有关详细信息,请参阅管理 Docker 网络。

复制
{
    "bridge" : "none"
}
设置 Docker 安全组

登录到 Docker 主机并在本地运行 Docker 命令后,这些命令将通过命名管道运行。 默认情况下,只有管理员组的成员才可以通过此命名管道访问 Docker 引擎。 若要指定具有此访问权限的安全组,请使用 group 标记。

复制
{
    "group" : "docker"
}
代理配置
若要设置 docker search 和 docker pull 的代理信息,请使用 HTTP_PROXY 或 HTTPS_PROXY 名称以及代理信息的一个值创建 Windows 环境变量。 可使用类似于以下的命令通过 PowerShell 完成此操作:
PowerShell

复制
[Environment]::SetEnvironmentVariable("HTTP_PROXY", "http://username:password@proxy:port/", [EnvironmentVariableTarget]::Machine)
设置变量后,重启 Docker 服务。
PowerShell

复制
Restart-Service docker
有关详细信息,请参阅 Docker.com 上的 Windows 配置文件。 查看全部
Windows 中不含 Docker 引擎和客户端,需要单独进行安装和配置。 此外,Docker 引擎可以接受多种自定义配置。 例如,可以配置守护程序接受传入请求的方式、默认网络选项及调试/日志设置。 在 Windows 上,这些配置可以在配置文件中指定,或者通过使用 Windows 服务控制管理器指定。 此文档将详细阐述如何安装和配置 Docker 引擎,还会提供一些通用配置的示例。
安装 Docker
若要使用 Window 容器,则需要安装 Docker。 Docker 由 Docker 引擎 (dockerd.exe) 和 Docker 客户端 (docker.exe) 组成。 快速入门指南中提供了安装所有内容的最简方法。 指南将帮助设置所有项目并运行首个容器。
Windows Server 2016 上的 Windows 容器
Windows 10 上的 Windows 容器
手动安装

若要改用 Docker 引擎和客户端的开发中版本,可遵循后续步骤。 这将安装 Docker 引擎和客户端。 如果你是一名测试新功能或使用 Windows 预览体验成员版本的开发人员,你可能需要使用 Docker 开发中版本。 否则,请按照上述安装 Docker 部分中的步骤获取最新发布的版本。
如果已安装 Docker for Windows,请务必在执行以下手动安装步骤之前将其删除。
下载 Docker 引擎
https://master.dockerproject.org 始终提供最新版本。 此示例使用来自主分支的最新版本。
PowerShell

复制
$version = (Invoke-WebRequest -UseBasicParsing https://raw.githubusercontent. ... ERSION).Content.Trim()
Invoke-WebRequest "https://master.dockerproject.o ... cker-$($version).zip" -OutFile "$env:TEMP\docker.zip" -UseBasicParsing
将 Zip 存档扩展到“Program Files”。
PowerShell

复制
Expand-Archive -Path "$env:TEMP\docker.zip" -DestinationPath $env:ProgramFiles
将 Docker 目录添加到系统路径。 添加完成后,重启 PowerShell 会话以识别已修改的路径。
PowerShell

复制
# Add path to this PowerShell session immediately
$env:path += ";$env:ProgramFiles\Docker"

# For persistent use after a reboot
$existingMachinePath = [Environment]::GetEnvironmentVariable("Path",[System.EnvironmentVariableTarget]::Machine)
[Environment]::SetEnvironmentVariable("Path", $existingMachinePath + ";$env:ProgramFiles\Docker", [EnvironmentVariableTarget]::Machine)
若要将 Docker 安装为一个 Windows 服务,请运行以下命令。

复制
dockerd --register-service
安装完成后,可以启动该服务。
PowerShell

复制
Start-Service Docker
安装容器映像后才可以使用 Docker。 有关详细信息,请参阅映像使用快速入门指南。
使用配置文件配置 Docker
在 Windows 上配置 Docker 引擎的首选方法是使用配置文件。 可在“C:\ProgramData\Docker\config\daemon.json”中找到配置文件。 如果此文件还不存在,可以创建此文件。
注意:并非所有可用的 Docker 配置选项在 Windows 上的 Docker 中都适用。 以下示例列出了可用的选项。 有关 Docker 引擎配置的完整文档,请参阅 Docker 守护程序配置文件。

复制
{
    "authorization-plugins": [],
    "dns": [],
    "dns-opts": [],
    "dns-search": [],
    "exec-opts": [],
    "storage-driver": "",
    "storage-opts": [],
    "labels": [],
    "log-driver": "", 
    "mtu": 0,
    "pidfile": "",
    "graph": "",
    "cluster-store": "",
    "cluster-advertise": "",
    "debug": true,
    "hosts": [],
    "log-level": "",
    "tlsverify": true,
    "tlscacert": "",
    "tlscert": "",
    "tlskey": "",
    "group": "",
    "default-ulimits": {},
    "bridge": "",
    "fixed-cidr": "",
    "raw-logs": false,
    "registry-mirrors": [],
    "insecure-registries": [],
    "disable-legacy-registry": false
}
只需将想要进行的配置更改添加到配置文件即可。 例如,此示例中将 Docker 引擎配置为接受端口 2375 传入的连接。 其他所有配置选项将使用默认值。

复制
{
    "hosts": ["tcp://0.0.0.0:2375"]
}
同样,此示例将配置 Docker 守护程序以将图像和容器保存在备用路径。 如果未指定,默认路径为 c:\programdata\docker。

复制
{    
    "graph": "d:\\docker"
}
同样,此示例将 Docker 守护程序配置为仅接受通过端口 2376 的安全连接。

复制
{
    "hosts": ["tcp://0.0.0.0:2376", "npipe://"],
    "tlsverify": true,
    "tlscacert": "C:\\ProgramData\\docker\\certs.d\\ca.pem",
    "tlscert": "C:\\ProgramData\\docker\\certs.d\\server-cert.pem",
    "tlskey": "C:\\ProgramData\\docker\\certs.d\\server-key.pem",
}
在 Docker 服务上配置 Docker
还可以通过使用 sc config 修改 Docker 服务来配置 Docker 引擎。 使用此方法时将直接在 Docker 服务上设置 Docker 引擎的标记。 在命令提示符(cmd.exe 而非 PowerShell)中运行以下命令:

复制
sc config docker binpath= "\"C:\Program Files\docker\dockerd.exe\" --run-service -H tcp://0.0.0.0:2375"
注意:如果 daemon.json 文件已经包含 "hosts": ["tcp://0.0.0.0:2375"] 条目,则无需运行此命令。
通用配置
以下配置文件示例演示了通用的 Docker 配置。 这些配置可以并入单个配置文件。
创建默认网络

若要将 Docker 引擎配置为不创建默认 NAT 网络,请运行以下操作。 有关详细信息,请参阅管理 Docker 网络。

复制
{
    "bridge" : "none"
}
设置 Docker 安全组

登录到 Docker 主机并在本地运行 Docker 命令后,这些命令将通过命名管道运行。 默认情况下,只有管理员组的成员才可以通过此命名管道访问 Docker 引擎。 若要指定具有此访问权限的安全组,请使用 group 标记。

复制
{
    "group" : "docker"
}
代理配置
若要设置 docker search 和 docker pull 的代理信息,请使用 HTTP_PROXY 或 HTTPS_PROXY 名称以及代理信息的一个值创建 Windows 环境变量。 可使用类似于以下的命令通过 PowerShell 完成此操作:
PowerShell

复制
[Environment]::SetEnvironmentVariable("HTTP_PROXY", "http://username:password@proxy:port/", [EnvironmentVariableTarget]::Machine)
设置变量后,重启 Docker 服务。
PowerShell

复制
Restart-Service docker
有关详细信息,请参阅 Docker.com 上的 Windows 配置文件。

docker for windows pull镜像文件的安装位置改变方法

Othersnarci 发表了文章 • 0 个评论 • 79 次浏览 • 2017-12-24 08:35 • 来自相关话题

发生现象:

在windows10下安装docker for windows,随着用docker pull image文件后,C盘的容量越来越小了,你可能也有一种跟我一样的想法,想改变默认的安装路径,本文希望能解决你的问题。

原因分析:

windows上安装的docker其实本质上还是借助与windows平台的hyper-v技术来创建一个linux虚拟机,你执行的所有命令其实都是在这个虚拟机里执行的,所以所有pull到本地的image都会在虚拟机的Virtual hard disks目录的文件中,这个文件就是虚拟硬盘文件。如果要想改变路径只需要在hyper-v管理器里设置就可以了。默认的安装路径是C:\Users\Public\Documents\Hyper-V\Virtual hard disks下。

解决方案:

1.开始菜单右键->控制面板->管理工具->Hyper-V 管理器->虚拟机右键设置。如图1

图1






2.将默认C:\Users\Public\Documents\Hyper-V\Virtual hard disks\MobyLinuxVM.vhdx的文件拷贝到想要改变的路径,我这里拷贝到D:\vmwork\Virtual Hard Disks路径下,然后点击浏览读取并确定保存设置,如图2。

图2





  查看全部
发生现象:

在windows10下安装docker for windows,随着用docker pull image文件后,C盘的容量越来越小了,你可能也有一种跟我一样的想法,想改变默认的安装路径,本文希望能解决你的问题。

原因分析:

windows上安装的docker其实本质上还是借助与windows平台的hyper-v技术来创建一个linux虚拟机,你执行的所有命令其实都是在这个虚拟机里执行的,所以所有pull到本地的image都会在虚拟机的Virtual hard disks目录的文件中,这个文件就是虚拟硬盘文件。如果要想改变路径只需要在hyper-v管理器里设置就可以了。默认的安装路径是C:\Users\Public\Documents\Hyper-V\Virtual hard disks下。

解决方案:

1.开始菜单右键->控制面板->管理工具->Hyper-V 管理器->虚拟机右键设置。如图1

图1

t1.png


2.将默认C:\Users\Public\Documents\Hyper-V\Virtual hard disks\MobyLinuxVM.vhdx的文件拷贝到想要改变的路径,我这里拷贝到D:\vmwork\Virtual Hard Disks路径下,然后点击浏览读取并确定保存设置,如图2。

图2

t2.png

 

使用Dockerfile构建自己的镜像

Othersnarci 发表了文章 • 0 个评论 • 67 次浏览 • 2017-12-23 08:00 • 来自相关话题

1 构建自己的镜像

此处我们打算,给一个centos:6.8容器安装nginx服务器。 
并将其状态保留,以便不用每次启动新容器都要再次安装nginx。

1.1 构建Dockerfile上下文

先来随便找个位置建个目录当做Dockerfile的上下文。 
此处本人在/root/workspace/docker/建立目录my-first-Dockerfile,如下所示:

[root@h1 my-first-Dockerfile]# pwd
/root/workspace/docker/my-first-Dockerfile
[root@h1 my-first-Dockerfile]# tree
.
├── Dockerfile #Dockerfile文件
└── nginx.repo #安装nginx用的yum源

0 directories, 2 files
[root@h1 my-first-Dockerfile]# 

文件内容如下:
# nginx.repo文件内容
[root@h1 my-first-Dockerfile]# cat nginx.repo 
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1

1.2 Dockerfile文件内容

# Dockerfile内容
[root@h1 my-first-Dockerfile]# cat Dockerfile 
# version 0.0.1-snapshot
# 从一个基础镜像centos:6.8开始构建
FROM centos:6.8
# 维护者信息
MAINTAINER hylexus "hylexus@163.com"
# 将Dockerfile上下文中的nginx.repo复制到容器中的yum源位置
COPY ./nginx.repo /etc/yum.repos.d/nginx.repo
RUN yum makecache
# 安装nginx
RUN yum install -y nginx
# 修改nginx首页信息
RUN echo "home page of container niginx server" > /usr/share/nginx/html/index.html
# 暴露80端口
EXPOSE 80
[root@h1 my-first-Dockerfile]# 

1.3 构建镜像

执行命令开始构建:
docker build -t="hylexus/nginx-1" .
1
过程如下:
# 命令最后的点表示Dockerfile所在目录
[root@h1 my-first-Dockerfile]# docker build -t="hylexus/nginx-1" .
Sending build context to Docker daemon 4.096 kB
Sending build context to Docker daemon 
Step 0 : FROM centos:6.8
 ---> 80e46367f846
Step 1 : MAINTAINER hylexus "hylexus@163.com"
 ---> Using cache
 ---> c518397fc23e
Step 2 : COPY ./nginx.repo /etc/yum.repos.d/nginx.repo
 ---> 5c6e01981678
Removing intermediate container c6e430804af3
Step 3 : RUN yum makecache
 ---> Running in d17bef44ff52
Loaded plugins: fastestmirror, ovl
Metadata Cache Created
 ---> 25e01b8498fc
Removing intermediate container d17bef44ff52
Step 4 : RUN yum install -y nginx
 ---> Running in 3054e6a7d381
Loaded plugins: fastestmirror, ovl
Setting up Install Process
Determining fastest mirrors
 * base: mirrors.163.com
 * extras: mirrors.163.com
 * updates: mirrors.163.com
Resolving Dependencies
--> Running transaction check
---> Package nginx.x86_64 0:1.10.1-1.el6.ngx will be installed
# 此处省略N行.....
--> Running transaction check
---> Package dbus-glib.x86_64 0:0.86-6.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package             Arch       Version                       Repository   Size
================================================================================
Installing:
 nginx               x86_64     1.10.1-1.el6.ngx              nginx       821 k
Installing for dependencies:
# 此处省略N行...
 util-linux-ng       x86_64     2.17.2-12.24.el6              base        1.6 M

Transaction Summary
================================================================================
Install      15 Package(s)

Total download size: 21 M
Installed size: 41 M
Downloading Packages:
--------------------------------------------------------------------------------
Total                                           356 kB/s |  21 MB     01:01     
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Importing GPG key 0xC105B9DE:
 Userid : CentOS-6 Key (CentOS 6 Official Signing Key) <centos-6-key@centos.org>
 Package: centos-release-6-8.el6.centos.12.3.x86_64 (@CentOS/6.8)
 From   : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : hwdata-0.233-16.1.el6.noarch                                1/15 
# 此处省略N行……
  Installing : nginx-1.10.1-1.el6.ngx.x86_64                              15/15 
----------------------------------------------------------------------

Thanks for using nginx!

Please find the official documentation for nginx here:
* http://nginx.org/en/docs/

Commercial subscriptions for nginx are available on:
* http://nginx.com/products/

----------------------------------------------------------------------
  Verifying  : iptables-1.4.7-16.el6.x86_64                                1/15 
# 此处省略N行
  Verifying  : hwdata-0.233-16.1.el6.noarch                               15/15 

Installed:
  nginx.x86_64 0:1.10.1-1.el6.ngx                                               

Dependency Installed:
#此处省略N行……                                           
  util-linux-ng.x86_64 0:2.17.2-12.24.el6                                       

Complete!
 ---> 8741ff7c796b
Removing intermediate container 3054e6a7d381
Step 5 : RUN echo "home page of container niginx server" > /usr/share/nginx/html/index.html
 ---> Running in 81627cb51b65
 ---> 0d610e7a0000
Removing intermediate container 81627cb51b65
Step 6 : EXPOSE 80
 ---> Running in 778468b1dcea
 ---> 9f18a04cafcb
Removing intermediate container 778468b1dcea
Successfully built 9f18a04cafcb
[root@h1 my-first-Dockerfile]#

1.4 启动容器

# 查看刚才构建的镜像
[root@h1 my-first-Dockerfile]# docker images hylexus/nginx-1
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
hylexus/nginx-1     latest              9f18a04cafcb        38 minutes ago      564.4 MB

# 启动容器
[root@h1 my-first-Dockerfile]# docker run -d -p 80 --name my-nginx-server hylexus/nginx-1 nginx -g "daemon off;"
8d6d810448fb7c80825f62058494f77eb991ee0e43ef82fa9367b96dd343f617

# 查看随机生成的端口映射
[root@h1 my-first-Dockerfile]# docker port 8d6d810448fb7c80825f62058494f77eb991ee0e43ef82fa9367b96dd343f617
80/tcp -> 0.0.0.0:32768
[root@h1 my-first-Dockerfile]#

#####################################################
#####################################################

# 当然也可以在启动的时候指定端口映射
[root@h1 my-first-Dockerfile]# docker run -dit -p 8080:80 --name my-nginx-server hylexus/nginx-1 nginx -g "daemon off;"
726ef73f47d1bd419f9aebbc2aaecae494170a3733a59678a0fc6e5a52b502a6
# 查看端口映射
[root@h1 my-first-Dockerfile]# docker port 726ef73f47d1bd419f9aebbc2aaecae494170a3733a59678a0fc6e5a52b502a6
80/tcp -> 0.0.0.0:8080

之后就可以使用浏览器访问测试了

1.5 将镜像推送到DockerHub

就像github一样的版本控制一样。自己的docker镜像也可以提交到DockerHub。

# 要先登录DockerHub
# 此处的hylexus/nginx-1即是镜像名称:<user-name>/<image-name>
docker push hylexus/nginx-1

2 构建过程中的几个问题

2.1 Dockerfile大致流程

从构建时的输出,可以看出每条RUN指令都会生成一个新的镜像层。 
并且默认情况下RUN指令都会以/bin/sh -c来包装执行。

大致流程如下:
Dockerfile的第一条指令一般都是FROM,表示从一个基础镜像开始构建
执行一条命令对镜像做出修改
提交更新
基于本次更新,运行新的容器
继续执行下一条命令
如此反复执行……
2.2 缓存

在构建过程中每次生成一层新的镜像的时候这个镜像就会被缓存。即使是后面的某个步骤导致构建失败,再次构建的时候就会从失败的那层镜像的前一条指令继续往下执行。 
如果不想使用这种缓存功能,可以在构建的时候加上--no-cache选项:

docker build --no-cache -t="hylexus/nginx-1" . 查看全部
1 构建自己的镜像

此处我们打算,给一个centos:6.8容器安装nginx服务器。 
并将其状态保留,以便不用每次启动新容器都要再次安装nginx。

1.1 构建Dockerfile上下文

先来随便找个位置建个目录当做Dockerfile的上下文。 
此处本人在/root/workspace/docker/建立目录my-first-Dockerfile,如下所示:

[root@h1 my-first-Dockerfile]# pwd
/root/workspace/docker/my-first-Dockerfile
[root@h1 my-first-Dockerfile]# tree
.
├── Dockerfile #Dockerfile文件
└── nginx.repo #安装nginx用的yum源

0 directories, 2 files
[root@h1 my-first-Dockerfile]# 

文件内容如下:
# nginx.repo文件内容
[root@h1 my-first-Dockerfile]# cat nginx.repo 
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1

1.2 Dockerfile文件内容

# Dockerfile内容
[root@h1 my-first-Dockerfile]# cat Dockerfile 
# version 0.0.1-snapshot
# 从一个基础镜像centos:6.8开始构建
FROM centos:6.8
# 维护者信息
MAINTAINER hylexus "hylexus@163.com"
# 将Dockerfile上下文中的nginx.repo复制到容器中的yum源位置
COPY ./nginx.repo /etc/yum.repos.d/nginx.repo
RUN yum makecache
# 安装nginx
RUN yum install -y nginx
# 修改nginx首页信息
RUN echo "home page of container niginx server" > /usr/share/nginx/html/index.html
# 暴露80端口
EXPOSE 80
[root@h1 my-first-Dockerfile]# 

1.3 构建镜像

执行命令开始构建:
docker build -t="hylexus/nginx-1" .
1
过程如下:
# 命令最后的点表示Dockerfile所在目录
[root@h1 my-first-Dockerfile]# docker build -t="hylexus/nginx-1" .
Sending build context to Docker daemon 4.096 kB
Sending build context to Docker daemon 
Step 0 : FROM centos:6.8
 ---> 80e46367f846
Step 1 : MAINTAINER hylexus "hylexus@163.com"
 ---> Using cache
 ---> c518397fc23e
Step 2 : COPY ./nginx.repo /etc/yum.repos.d/nginx.repo
 ---> 5c6e01981678
Removing intermediate container c6e430804af3
Step 3 : RUN yum makecache
 ---> Running in d17bef44ff52
Loaded plugins: fastestmirror, ovl
Metadata Cache Created
 ---> 25e01b8498fc
Removing intermediate container d17bef44ff52
Step 4 : RUN yum install -y nginx
 ---> Running in 3054e6a7d381
Loaded plugins: fastestmirror, ovl
Setting up Install Process
Determining fastest mirrors
 * base: mirrors.163.com
 * extras: mirrors.163.com
 * updates: mirrors.163.com
Resolving Dependencies
--> Running transaction check
---> Package nginx.x86_64 0:1.10.1-1.el6.ngx will be installed
# 此处省略N行.....
--> Running transaction check
---> Package dbus-glib.x86_64 0:0.86-6.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package             Arch       Version                       Repository   Size
================================================================================
Installing:
 nginx               x86_64     1.10.1-1.el6.ngx              nginx       821 k
Installing for dependencies:
# 此处省略N行...
 util-linux-ng       x86_64     2.17.2-12.24.el6              base        1.6 M

Transaction Summary
================================================================================
Install      15 Package(s)

Total download size: 21 M
Installed size: 41 M
Downloading Packages:
--------------------------------------------------------------------------------
Total                                           356 kB/s |  21 MB     01:01     
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Importing GPG key 0xC105B9DE:
 Userid : CentOS-6 Key (CentOS 6 Official Signing Key) <centos-6-key@centos.org>
 Package: centos-release-6-8.el6.centos.12.3.x86_64 (@CentOS/6.8)
 From   : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : hwdata-0.233-16.1.el6.noarch                                1/15 
# 此处省略N行……
  Installing : nginx-1.10.1-1.el6.ngx.x86_64                              15/15 
----------------------------------------------------------------------

Thanks for using nginx!

Please find the official documentation for nginx here:
* http://nginx.org/en/docs/

Commercial subscriptions for nginx are available on:
* http://nginx.com/products/

----------------------------------------------------------------------
  Verifying  : iptables-1.4.7-16.el6.x86_64                                1/15 
# 此处省略N行
  Verifying  : hwdata-0.233-16.1.el6.noarch                               15/15 

Installed:
  nginx.x86_64 0:1.10.1-1.el6.ngx                                               

Dependency Installed:
#此处省略N行……                                           
  util-linux-ng.x86_64 0:2.17.2-12.24.el6                                       

Complete!
 ---> 8741ff7c796b
Removing intermediate container 3054e6a7d381
Step 5 : RUN echo "home page of container niginx server" > /usr/share/nginx/html/index.html
 ---> Running in 81627cb51b65
 ---> 0d610e7a0000
Removing intermediate container 81627cb51b65
Step 6 : EXPOSE 80
 ---> Running in 778468b1dcea
 ---> 9f18a04cafcb
Removing intermediate container 778468b1dcea
Successfully built 9f18a04cafcb
[root@h1 my-first-Dockerfile]#

1.4 启动容器

# 查看刚才构建的镜像
[root@h1 my-first-Dockerfile]# docker images hylexus/nginx-1
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
hylexus/nginx-1     latest              9f18a04cafcb        38 minutes ago      564.4 MB

# 启动容器
[root@h1 my-first-Dockerfile]# docker run -d -p 80 --name my-nginx-server hylexus/nginx-1 nginx -g "daemon off;"
8d6d810448fb7c80825f62058494f77eb991ee0e43ef82fa9367b96dd343f617

# 查看随机生成的端口映射
[root@h1 my-first-Dockerfile]# docker port 8d6d810448fb7c80825f62058494f77eb991ee0e43ef82fa9367b96dd343f617
80/tcp -> 0.0.0.0:32768
[root@h1 my-first-Dockerfile]#

#####################################################
#####################################################

# 当然也可以在启动的时候指定端口映射
[root@h1 my-first-Dockerfile]# docker run -dit -p 8080:80 --name my-nginx-server hylexus/nginx-1 nginx -g "daemon off;"
726ef73f47d1bd419f9aebbc2aaecae494170a3733a59678a0fc6e5a52b502a6
# 查看端口映射
[root@h1 my-first-Dockerfile]# docker port 726ef73f47d1bd419f9aebbc2aaecae494170a3733a59678a0fc6e5a52b502a6
80/tcp -> 0.0.0.0:8080

之后就可以使用浏览器访问测试了

1.5 将镜像推送到DockerHub

就像github一样的版本控制一样。自己的docker镜像也可以提交到DockerHub。

# 要先登录DockerHub
# 此处的hylexus/nginx-1即是镜像名称:<user-name>/<image-name>
docker push hylexus/nginx-1

2 构建过程中的几个问题

2.1 Dockerfile大致流程

从构建时的输出,可以看出每条RUN指令都会生成一个新的镜像层。 
并且默认情况下RUN指令都会以/bin/sh -c来包装执行。

大致流程如下:
Dockerfile的第一条指令一般都是FROM,表示从一个基础镜像开始构建
执行一条命令对镜像做出修改
提交更新
基于本次更新,运行新的容器
继续执行下一条命令
如此反复执行……
2.2 缓存

在构建过程中每次生成一层新的镜像的时候这个镜像就会被缓存。即使是后面的某个步骤导致构建失败,再次构建的时候就会从失败的那层镜像的前一条指令继续往下执行。 
如果不想使用这种缓存功能,可以在构建的时候加上--no-cache选项:

docker build --no-cache -t="hylexus/nginx-1" .

centos7安装最新版docker

Linuxnarci 发表了文章 • 1 个评论 • 75 次浏览 • 2017-12-22 16:25 • 来自相关话题

前提条件

首先,您需要准备一个CentOS 操作系统(也可以是其它Linux发行版),且能通过SSH客户端工具访问。CentOS 具体要求如下:必须是 64 位操作系统,建议内核在 3.8 以上。通过以下命令,查看您的 CentOS 内核:

# uname  -r
1


升级内核

如果执行以上命令后,输出的内核版本号低于 3.8,请升级您的Linux 内核至3.10以上,这里不再赘述。



安装 Docker引擎

Docker默认的Yum库使用的是main,基本上是稳定的版本,目前该版本为1.10。若想使用最新版的,只需将其baseurl设为https://yum.dockerproject.org/ ... os/7/即可。

# yum  update                             //系统版本更新

# vim /etc/yum.repos.d/docker.repo        //添加以下内容

[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg

# yum install docker-engine  -y     

//安装docker引擎,此步也可作为更新docker版本的操作:先#systemctl stop docker 停止docker服务,再#yum install docker-engine 更新docker版本                                             

# systemctl  enable  docker.service                                                                 

# systemctl  start   docker              //启动docker守护进程

# docker info                            //查看docker运行情况 查看全部
前提条件

首先,您需要准备一个CentOS 操作系统(也可以是其它Linux发行版),且能通过SSH客户端工具访问。CentOS 具体要求如下:必须是 64 位操作系统,建议内核在 3.8 以上。通过以下命令,查看您的 CentOS 内核:

# uname  -r
1


升级内核

如果执行以上命令后,输出的内核版本号低于 3.8,请升级您的Linux 内核至3.10以上,这里不再赘述。



安装 Docker引擎

Docker默认的Yum库使用的是main,基本上是稳定的版本,目前该版本为1.10。若想使用最新版的,只需将其baseurl设为https://yum.dockerproject.org/ ... os/7/即可。

# yum  update                             //系统版本更新

# vim /etc/yum.repos.d/docker.repo        //添加以下内容

[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg

# yum install docker-engine  -y     

//安装docker引擎,此步也可作为更新docker版本的操作:先#systemctl stop docker 停止docker服务,再#yum install docker-engine 更新docker版本                                             

# systemctl  enable  docker.service                                                                 

# systemctl  start   docker              //启动docker守护进程

# docker info                            //查看docker运行情况

centos没有ifconfig命令解决方法

Linuxnarci 发表了文章 • 0 个评论 • 65 次浏览 • 2017-12-22 16:08 • 来自相关话题

或者你也可以使用以下命令。

yum whatprovides ifconfig

这里,“provides”或者“whatprovides”开关用于找出某个包提供了某些功能或文件。

就像你在上面的输出中所看到的,net-tools包提供了ifconfig命令。因此,让我们安装net-tools包来使用ifconfig命令。

yum install net-tools

现在,你就可以像以往一样使用ifconfig命令了。

ifconfig -a 查看全部
或者你也可以使用以下命令。

yum whatprovides ifconfig

这里,“provides”或者“whatprovides”开关用于找出某个包提供了某些功能或文件。

就像你在上面的输出中所看到的,net-tools包提供了ifconfig命令。因此,让我们安装net-tools包来使用ifconfig命令。

yum install net-tools

现在,你就可以像以往一样使用ifconfig命令了。

ifconfig -a

CentOS7 设置启动界面 图形OR文本

Othersnarci 发表了文章 • 0 个评论 • 90 次浏览 • 2017-12-22 11:17 • 来自相关话题

直接给出方法:




设置命令行级别方法:ln -sf /lib/systemd/system/runlevel3.target /etc/systemd/system/default.target

ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target

systemctl set-default multi-user.target


改回窗口级别方法:
ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target

ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target搜索

systemctl set-default graphical.target







补充几句:

文件 /etc/inittab 中有说明,如下:


# inittab is no longer used when using systemd.
#
# ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# Ctrl-Alt-Delete is handled by /etc/systemd/system/ctrl-alt-del.target
#
# systemd uses 'targets' instead of runlevels. By default, there are two main targets:
#
# multi-user.target: analogous to runlevel 3
# graphical.target: analogous to runlevel 5
#
# To set a default target, run:
#
# ln -sf /lib/systemd/system/<target name>.target /etc/systemd/system/default.target
#


大概意思是在该文件修改已经不起作用了,然后就是告诉你应该怎么改的。 查看全部
直接给出方法:




设置命令行级别方法:ln -sf /lib/systemd/system/runlevel3.target /etc/systemd/system/default.target

ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target

systemctl set-default multi-user.target


改回窗口级别方法:
ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target

ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target搜索

systemctl set-default graphical.target







补充几句:

文件 /etc/inittab 中有说明,如下:


# inittab is no longer used when using systemd.
#
# ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# Ctrl-Alt-Delete is handled by /etc/systemd/system/ctrl-alt-del.target
#
# systemd uses 'targets' instead of runlevels. By default, there are two main targets:
#
# multi-user.target: analogous to runlevel 3
# graphical.target: analogous to runlevel 5
#
# To set a default target, run:
#
# ln -sf /lib/systemd/system/<target name>.target /etc/systemd/system/default.target
#


大概意思是在该文件修改已经不起作用了,然后就是告诉你应该怎么改的。

Handler dispatch failed; nested exception is java.lang.StackOverflowError

回复

CoreJavanarci 回复了问题 • 1 人关注 • 1 个回复 • 313 次浏览 • 2017-12-16 08:31 • 来自相关话题

Mysql 查看连接数,状态

MySQLnarci 发表了文章 • 0 个评论 • 60 次浏览 • 2017-12-13 07:58 • 来自相关话题

命令: show processlist; 
如果是root帐号,你能看到所有用户的当前连接。如果是其它普通帐号,只能看到自己占用的连接。 
show processlist;只列出前100条,如果想全列出请使用show full processlist; 
mysql> show processlist;

命令: show status;

命令:show status like '%下面变量%';

Aborted_clients 由于客户没有正确关闭连接已经死掉,已经放弃的连接数量。 
Aborted_connects 尝试已经失败的MySQL服务器的连接的次数。 
Connections 试图连接MySQL服务器的次数。 
Created_tmp_tables 当执行语句时,已经被创造了的隐含临时表的数量。 
Delayed_insert_threads 正在使用的延迟插入处理器线程的数量。 
Delayed_writes 用INSERT DELAYED写入的行数。 
Delayed_errors 用INSERT DELAYED写入的发生某些错误(可能重复键值)的行数。 
Flush_commands 执行FLUSH命令的次数。 
Handler_delete 请求从一张表中删除行的次数。 
Handler_read_first 请求读入表中第一行的次数。 
Handler_read_key 请求数字基于键读行。 
Handler_read_next 请求读入基于一个键的一行的次数。 
Handler_read_rnd 请求读入基于一个固定位置的一行的次数。 
Handler_update 请求更新表中一行的次数。 
Handler_write 请求向表中插入一行的次数。 
Key_blocks_used 用于关键字缓存的块的数量。 
Key_read_requests 请求从缓存读入一个键值的次数。 
Key_reads 从磁盘物理读入一个键值的次数。 
Key_write_requests 请求将一个关键字块写入缓存次数。 
Key_writes 将一个键值块物理写入磁盘的次数。 
Max_used_connections 同时使用的连接的最大数目。 
Not_flushed_key_blocks 在键缓存中已经改变但是还没被清空到磁盘上的键块。 
Not_flushed_delayed_rows 在INSERT DELAY队列中等待写入的行的数量。 
Open_tables 打开表的数量。 
Open_files 打开文件的数量。 
Open_streams 打开流的数量(主要用于日志记载) 
Opened_tables 已经打开的表的数量。 
Questions 发往服务器的查询的数量。 
Slow_queries 要花超过long_query_time时间的查询数量。 
Threads_connected 当前打开的连接的数量。 
Threads_running 不在睡眠的线程数量。 
Uptime 服务器工作了多少秒。


My.ini配置 虚拟内存


innodb_buffer_pool_size=576M   ->128M InnoDB引擎缓冲区

query_cache_size=100M             ->32 查询缓存
tmp_table_size=102M                  ->32M 临时表大小
key_buffer_size=16m                  ->8M

 

设置max_connections

命令:show variables like '%max_connections%'
(这个办法在debian+mysql  Ver 12.22 Distrib 4.0.22, for pc-linux (i386)
里实验了)
设置办法是在my.cnf文件中,添加下面的最后红色的一行:

--------------------------------------------------------------------------------

[mysqld] 
port=3306 
#socket=MySQL 
skip-locking 
set-variable = key_buffer=16K 
set-variable = max_allowed_packet=1M 
set-variable = thread_stack=64K 
set-variable = table_cache=4 
set-variable = sort_buffer=64K 
set-variable = net_buffer_length=2K 
set-variable = max_connections=32000 
(在院里的DELL机器mysql4.0里的语法不同
max_connecionts=2000
直接这么写就好了




--------------------------------------------------------------------------------


修改完毕后,重启MySQL即可。当然,为了确保设置正确,应该查看一下max_connections。

注意: 
1、虽然这里写的32000。但实际MySQL服务器允许的最大连接数16384; 
2、除max_connections外,上述其他配置应该根据你们系统自身需要进行配置,不必拘泥; 
3、添加了最大允许连接数,对系统消耗增加不大。 
4、如果你的mysql用的是my.ini作配置文件,设置类似,但设置的格式要稍作变通。


用mysqld --help 可以查看到max_connections 变量。
或者 mysql -uuser -p
后mysql>show variables;
也会看到max_connections 。   

下面是修改张老师 的redhat9的方法:

先是mysql -uw01f -p
mysql>show variables;
看到max_connections 为100
mysql>exit;
vi /etc/my.cnf
    [mysqld]
set-variable=max_connections=250  #加入这些内容
:wq

/etc/init.d/mysqld restart
好了,行了。

 

下面的是抄的,我用不了
mysql的最大连接数默认是100, 这个数值对于并发连接很多的数据库应用是远远不够的,当连接请求大于默认连接数后,就会出现无法连接数据库的错误,因此我们需要把它适当调大一些, 有两种办法可以修改最大连接数,一种是修改safe_mysqld,另一种是直接修改原代码并重新编译。下面我们就分别介绍这两种方法:

1.修改safe_mysqld 
找到safe_mysqld编辑它,找到mysqld启动的那两行,在后面加上参数 :

-O max_connections=1000

例如 :(其中前面有---的是原来的内容,而+++是修改过以后的) 
--- safe_mysqld.orig Mon Sep 25 09:34:01 2000 
+++ safe_mysqld Sun Sep 24 16:56:46 2000 
@@ -109,10 +109,10 @@ 
if test "$#" -eq 0 
then 
nohup $ledir/mysqld --basedir=$MY_BASEDIR_VERSION --datadir=$DATADIR / 
- --skip-locking >> $err_log 2>&1 
+ --skip-locking -O max_connections=1000 >> $err_log 2>&1 
else 
nohup $ledir/mysqld --basedir=$MY_BASEDIR_VERSION --datadir=$DATADIR / 
- --skip-locking "$@" >> $err_log 2>&1 
+ --skip-locking "$@" -O max_connections=1000 >> $err_log 2>&1 
fi 
if test ! -f $pid_file # This is removed if normal shutdown 
then 
然后关闭mysql重启它,用 
/mysqladmin所在路径/mysqladmin -uroot -p variables 
输入root数据库账号的密码后可看到 
| max_connections | 1000 | 
即新改动已经生效。

2.修改原代码

解开MySQL的原代码,进入里面的sql目录修改mysqld.cc找到下面一行:

{ "max_connections", (long*) &max_connections,1000,1,16384,0,1},

把它改为:

{ "max_connections", (long*) &max_connections,1000,1,16384,0,1},

存盘退出,然后./configure ;make;make install可以获得同样的效果。 查看全部
命令: show processlist; 
如果是root帐号,你能看到所有用户的当前连接。如果是其它普通帐号,只能看到自己占用的连接。 
show processlist;只列出前100条,如果想全列出请使用show full processlist; 
mysql> show processlist;

命令: show status;

命令:show status like '%下面变量%';

Aborted_clients 由于客户没有正确关闭连接已经死掉,已经放弃的连接数量。 
Aborted_connects 尝试已经失败的MySQL服务器的连接的次数。 
Connections 试图连接MySQL服务器的次数。 
Created_tmp_tables 当执行语句时,已经被创造了的隐含临时表的数量。 
Delayed_insert_threads 正在使用的延迟插入处理器线程的数量。 
Delayed_writes 用INSERT DELAYED写入的行数。 
Delayed_errors 用INSERT DELAYED写入的发生某些错误(可能重复键值)的行数。 
Flush_commands 执行FLUSH命令的次数。 
Handler_delete 请求从一张表中删除行的次数。 
Handler_read_first 请求读入表中第一行的次数。 
Handler_read_key 请求数字基于键读行。 
Handler_read_next 请求读入基于一个键的一行的次数。 
Handler_read_rnd 请求读入基于一个固定位置的一行的次数。 
Handler_update 请求更新表中一行的次数。 
Handler_write 请求向表中插入一行的次数。 
Key_blocks_used 用于关键字缓存的块的数量。 
Key_read_requests 请求从缓存读入一个键值的次数。 
Key_reads 从磁盘物理读入一个键值的次数。 
Key_write_requests 请求将一个关键字块写入缓存次数。 
Key_writes 将一个键值块物理写入磁盘的次数。 
Max_used_connections 同时使用的连接的最大数目。 
Not_flushed_key_blocks 在键缓存中已经改变但是还没被清空到磁盘上的键块。 
Not_flushed_delayed_rows 在INSERT DELAY队列中等待写入的行的数量。 
Open_tables 打开表的数量。 
Open_files 打开文件的数量。 
Open_streams 打开流的数量(主要用于日志记载) 
Opened_tables 已经打开的表的数量。 
Questions 发往服务器的查询的数量。 
Slow_queries 要花超过long_query_time时间的查询数量。 
Threads_connected 当前打开的连接的数量。 
Threads_running 不在睡眠的线程数量。 
Uptime 服务器工作了多少秒。


My.ini配置 虚拟内存


innodb_buffer_pool_size=576M   ->128M InnoDB引擎缓冲区

query_cache_size=100M             ->32 查询缓存
tmp_table_size=102M                  ->32M 临时表大小
key_buffer_size=16m                  ->8M

 

设置max_connections

命令:show variables like '%max_connections%'
(这个办法在debian+mysql  Ver 12.22 Distrib 4.0.22, for pc-linux (i386)
里实验了)
设置办法是在my.cnf文件中,添加下面的最后红色的一行:

--------------------------------------------------------------------------------

[mysqld] 
port=3306 
#socket=MySQL 
skip-locking 
set-variable = key_buffer=16K 
set-variable = max_allowed_packet=1M 
set-variable = thread_stack=64K 
set-variable = table_cache=4 
set-variable = sort_buffer=64K 
set-variable = net_buffer_length=2K 
set-variable = max_connections=32000 
(在院里的DELL机器mysql4.0里的语法不同
max_connecionts=2000
直接这么写就好了




--------------------------------------------------------------------------------


修改完毕后,重启MySQL即可。当然,为了确保设置正确,应该查看一下max_connections。

注意: 
1、虽然这里写的32000。但实际MySQL服务器允许的最大连接数16384; 
2、除max_connections外,上述其他配置应该根据你们系统自身需要进行配置,不必拘泥; 
3、添加了最大允许连接数,对系统消耗增加不大。 
4、如果你的mysql用的是my.ini作配置文件,设置类似,但设置的格式要稍作变通。


用mysqld --help 可以查看到max_connections 变量。
或者 mysql -uuser -p
后mysql>show variables;
也会看到max_connections 。   

下面是修改张老师 的redhat9的方法:

先是mysql -uw01f -p
mysql>show variables;
看到max_connections 为100
mysql>exit;
vi /etc/my.cnf
    [mysqld]
set-variable=max_connections=250  #加入这些内容
:wq

/etc/init.d/mysqld restart
好了,行了。

 

下面的是抄的,我用不了
mysql的最大连接数默认是100, 这个数值对于并发连接很多的数据库应用是远远不够的,当连接请求大于默认连接数后,就会出现无法连接数据库的错误,因此我们需要把它适当调大一些, 有两种办法可以修改最大连接数,一种是修改safe_mysqld,另一种是直接修改原代码并重新编译。下面我们就分别介绍这两种方法:

1.修改safe_mysqld 
找到safe_mysqld编辑它,找到mysqld启动的那两行,在后面加上参数 :

-O max_connections=1000

例如 :(其中前面有---的是原来的内容,而+++是修改过以后的) 
--- safe_mysqld.orig Mon Sep 25 09:34:01 2000 
+++ safe_mysqld Sun Sep 24 16:56:46 2000 
@@ -109,10 +109,10 @@ 
if test "$#" -eq 0 
then 
nohup $ledir/mysqld --basedir=$MY_BASEDIR_VERSION --datadir=$DATADIR / 
- --skip-locking >> $err_log 2>&1 
+ --skip-locking -O max_connections=1000 >> $err_log 2>&1 
else 
nohup $ledir/mysqld --basedir=$MY_BASEDIR_VERSION --datadir=$DATADIR / 
- --skip-locking "$@" >> $err_log 2>&1 
+ --skip-locking "$@" -O max_connections=1000 >> $err_log 2>&1 
fi 
if test ! -f $pid_file # This is removed if normal shutdown 
then 
然后关闭mysql重启它,用 
/mysqladmin所在路径/mysqladmin -uroot -p variables 
输入root数据库账号的密码后可看到 
| max_connections | 1000 | 
即新改动已经生效。

2.修改原代码

解开MySQL的原代码,进入里面的sql目录修改mysqld.cc找到下面一行:

{ "max_connections", (long*) &max_connections,1000,1,16384,0,1},

把它改为:

{ "max_connections", (long*) &max_connections,1000,1,16384,0,1},

存盘退出,然后./configure ;make;make install可以获得同样的效果。