下载Docker

https://download.docker.com/win/stable/Docker%20Desktop%20Installer.exe

Docker对Win系统是有要求的,必须是专业版,企业版或教育版(内部版本16299或更高版本);因为家庭版并没有安装Hyper-V。

如果你的Win系统是家庭版,请参考:

https://docs.docker.com/docker-for-windows/install-windows-home

安装Docker

双击运行Docker Desktop Installer.exe,界面上有2个选项:

Enable Hyper-V Windows Features (配置Hyper-V虚拟机,必选)
Add Shortcut to desktop(在桌面上安装图标,可选)

安装直接默认选择,点击OK

安装成功之后,点击Close关闭。

有的小伙伴可能是第一次配置Hyper-V,所以需要重启电脑。

最新的windows版本不再使用Hyper-V,而是使用wsl2,详细信息请查看链接:https://docs.microsoft.com/zh-cn/windows/wsl/install-win10

运行Docker

双击打开桌面上的Docker Desktop,等待Docker图标从Docker is starting变成Docker is running。

修改Docker镜像源,右击Docker图标,选择Settings。

如果你不想Docker在开机的时候启动,选中General选项,取消”Start Docker Desktop when you log in”的选中状态。

选中Docker Engine选项,修改其中的的registry-mirrors,增加2个国内的镜像源:

"registry-mirrors": [
    "https://registry.docker-cn.com",
    "http://docker.mirrors.ustc.edu.cn"
  ],

修改完成之后,需要点击界面右下角的”Apply & Restart”按钮。

获取Centos镜像

打开命令提示符,可以通过快捷键Win+R,输入cmd回车即可。

在打开的命令提示符中,输入下面的命令可以查看centos所有的镜像:

docker search centos

可以看到命令会返回很多的镜像,其中OFFICIAL一栏中如果有[OK]标签的,就表示这是官方提供的镜像:

我们可以通过NAME下载对应的镜像文件:

docker pull centos

这下载的是centos最新版本,如果想下载其他版本,可以通过指定版本号:

docker pull centos:7.6.1810

镜像的版本号可以在https://hub.docker.com/_/centos中查看

等待下载完成之后,可以用image命令查看所以本地镜像:

docker image ls -a

运行容器

镜像下载之后,可以通过run命令运行容器

docker run -p 8922:22 -p 8936:3306 –privileged -td centos:latest /usr/sbin/init

-p 8922:22的意思就是把本地的8922端口映射成centos上的22端口。

–privileged的意思是使容器内的root拥有真正的root权限,否则容器内的root只是外部的一个普通用户权限;privileged启动的容器,可以看到很多host上的设备,并且可以执行mount;甚至允许你在docker容器中启动docker容器。

-td的意思是使容器成为一个后台服务。

centos:latest是REPOSITORY:TAG:

/usr/sbin/init是容器启动的时候使用的命令。

管理容器

可以通过ps命令查看所有的窗口:

docker ps -a
blank

这里的CONTAINER ID很重要,后续对应容器的操作都需要通过容器ID。

进入容器可以使用命令exec:

docker exec -it 容器ID /bin/bash

进入容器之后,需要安装openssh-server来使用sshd:

yum install openssh-server passwd
systemctl start sshd

开启sshd之后,就可以通过XShell等客户端工具登录了。

容器启动之后,可以通过stop命令关闭:

docker stop 容器ID

可以通过start命令启动:

docker start 容器ID

删除使用rm命令:

docker rm 容器ID

rm命令也可以用来删除对应的镜像,如果要删除镜像,需要先把镜像对应的容器全部删掉之后,才可以删除镜像。

docker image rm 镜像ID

容器的导入导出

docker有很多优点,其中之一就是可以通过导入导出功能,实现环境的迁移。

想想平时我们为了搭建一个本地的开发环境,需要安装各种开发包,要写各种配置文件;等到了发布的时候,又要在服务器上搭建一套同样的环境,想一想就痛苦,而docker为我们完美的解决了这个问题。

通过export命令导出:

docker export 容器ID > you_name.tar

导出包之后可以直接上传到服务器上,通过import命令导入docker中:

docker import you_name.tar REPOSITORY:TAG

这里的REPOSITORY:TAG你可以自定义,例如定义成centos:wqh,这样就可以在docker run的时候直接使用centos:wqh。

导入成功之后,你就可以在image中看到你的镜像,之后就可以直接run起来了:

docker run -p 8922:22 -p 8936:3306  --privileged -td centos:wqh /usr/sbin/init
0

本文为原创文章,转载请注明出处,欢迎访问作者网站(和而不同)

发表评论

error: Content is protected !!
blank