新手入门Docker之Windows下如何使用Docker

Docker是什么?

Docker 将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了 Docker,就不用担心环境问题。

总体来说,Docker 的接口相当简单,用户可以方便地创建和使用容器,把自己的应用放入容器。容器还可以进行版本管理、复制、分享、修改,就像管理普通的代码一样。

更多Docker详情请参考:Docker 入门教程

Windows下的Docker安装

1.Docker为Windows提供了一款软件Docker for Desktop:

下载地址,CE为免费版本

2.安装前请务必设置如下选项
第一步:开启Hyper-V,在“启用或关闭Windows功能”里,钩选Hyper-V,然后确定
开启Hype-V
第二步:电脑开机时进BIOS开启虚拟化功能,电脑不同,自行开启

3.安装完成双击打开程序,右下角会出现Docker图表,右击图标选择setting,可以对Docker进行一些虚拟化配置,可有效防止后续因镜像和容器实例过多引起的爆满。

setting设置

Windows下Docker的使用

1.在安装完成以后,现在可以在windows中使用Docker了,WIN+R打开命令窗口输入命令:docker version验证Docker是否安装成功,出现如下信息则证明已经完成

验证是否安装成功
2.现在我们就可以进行docker的相关操作了,首先可以查看本机中所有的docker镜像,使用命令:docker images,REPOSITY代表所在仓库,TAG表示该镜像标签(版本)

查看docker镜像
3.使用docker ps -a命令查看所有docker容器,CONTAINER ID表示该容器在Docker中的唯一ID,稍后的相关操作可以使用该ID进行,IMAGES表示该容器使用的镜像,NAMES表示我们给当前容器起的花名,与ID一样是唯一的。

所有进程
这些的容器哪里来的?

4.从docker基础中可以了解到,docker容器其实就是拉取相应的镜像并启动它,例如上面容器的’gmssl’就是拉取了centos镜像启动而来,可以理解成以前用过的虚拟机,但与虚拟机相比优势更大,这一点可以参考Docker入门教程,那么这个容器便是一个基于Linux的独立的"操作系统"了。

5.如何拉取镜像并启动容器

  • 首先拉取镜像可以通过docker pull 【镜像名】,例如docker pull Ubuntu代表的则是拉取Ubuntu镜像
  • 接着可以使用docker images查看本机中所有的镜像
  • 最后可以使用docker run -itd --name ubuntu-test ubuntu /bin/bash命令启动一个容器实例,其中-itd表示以交互式终端切后台运行的模式启动即启动后容器仅在后台运行,不会进入容器实例,–name ubuntu-test 表示给该容器自定义的名字,ubuntu表示使用的镜像
  • 如果想进入该容器可以使用命令docker exec -it 【CONTAINER ID】 /bin/bash
    注意:在第三步执行的时候倘若还没有镜像则会自动拉取镜像,这说明第一步并不是必须的。

Xshell连接Docker容器

1.上面我们都是通过windows自带的CMD窗口进行Docker操作,除此以外,还可以使用Xshell去连接容器并使用

如果想要使用别的工具连接容器,则需要暴露本机的端口,这就是需要Docker容器内的端口与本机的端口实现映射。这种映射可以再启动容器时使用
docker run -it --privileged -dp 外部连接端口号【自己指定】:容器端口号【自己指定】 --name gmssl 镜像名字 /usr/sbin/init命令启动容器。
这样就实现了容器端口与本机端口的映射。(这里作为演示使用的Ubuntu镜像,我自己用的centos亲测成功)

端口映射
进入容器,使用命令yum install -y openssl openssh-server安装ssh服务,之后使用命令vi etc/ssh/sshd.config编辑该配置文件,按如下修改
修改配置文件
使用命令service sshd restart重启ssh服务,再使用命令passwd修改密码,最后重启该容器:
修改密码
2.打开Xshell,新建连接,输入本地地址127.0.0.1,端口号为上面指定的端口号,点击连接,输入用户名和密码,此时便可以在Xshell中使用该容器了。

在centos中安装Docker

我们在windows上创建的一个centos容器实例,这时候我们就有一个这样的独立的"操作系统"了,那么在这个操作系统上我们同样可以安装Docker,只不过环境是Linux而已(centos基于Linux),那么在这个独立的"操作系统"种我们又可以创建很多容器了。

你可能感兴趣的:(docker,java,window,linux)