目录

  • 安装 Hyper-V
  • 下载docker desktop
  • 开启虚拟化
  • 是否安装成功
  • 连接国内镜像仓库
  • 问题一:无法启动容器 docker run -d ubuntu


安装 Hyper-V

Hyper-V 是微软开发的虚拟机,步骤如下

鼠标右键左下角windows–>应用和功能–>选择右上角的相关设置–>启用或者关闭windows功能–把Hyper-V中的几个全勾选上

docker 服务器关机后 docker在电脑关机后_docker 服务器关机后


docker 服务器关机后 docker在电脑关机后_前台进程_02

docker 服务器关机后 docker在电脑关机后_前台进程_03


docker 服务器关机后 docker在电脑关机后_前台进程_04

docker 服务器关机后 docker在电脑关机后_docker 服务器关机后_05

下载docker desktop

然后下载docker-desktop

下载完成后就下一步下一步安装,让它自己运行,如果没报错就可以开始下一步

如果报错了,点击任务管理器–>性能,查看虚拟化有没有启用

docker 服务器关机后 docker在电脑关机后_ubuntu_06


如果没启用,则需要进入BIOS设置

开启虚拟化

电脑关机重启,在启动的过程中狂按Delete键(每个品牌的按键不同,一般就f8,f10,f11,f12,ESC),总之进入BIOS即可,进入之后:键盘的上下左右是控制键,Enter是确定键,f10是保存键
接下来找到 cpu configuration–>Secure Virtual Machine Mode–>选择Enabled 然后确定,最后f10保存,保存后windows会自动退出并开机

是否安装成功

一般来说到这一步docker 就安装成功了
我们键入windows键+r键,输入cmd进入终端,输入docker version 或者docker info 查看,如果有如下提示,则表示docker已经安装成功了

docker 服务器关机后 docker在电脑关机后_ubuntu_07


安装成功后,我们开始第一个案例,最简单的hello world!

在终端输入

docker run hello-world 你会看到这个提示,意思是此消息表示你的安装已经成功

docker 服务器关机后 docker在电脑关机后_docker 服务器关机后_08

docker的镜像与容器:两者的关系就相当于java中的类与实例的关系,也就是模板与实际对象的关系

docker仓库、镜像、容器:

镜像:类似虚拟机镜像

容器:类似linux系统环境,运行和隔离应用。容器从镜像启动的时候,docker会在镜像的最上一层创建一个可写层,镜像本身是只读的,保持不变。

仓库:每个仓库存放某一类镜像。

一些简单的命令:

docker version			查看docker的版本信息
docker run				创建一个容器并运行一个命令
docker pull				从docker仓库拉取镜像
docker images			查看镜像列表
docker ps				查看已运行的容器
docker ps -a			查看所有容器(包括未运行的和已运行的)
docker rmi   镜像id		删除镜像(删除镜像前得先删除容器,此处镜像的id不用写全,写出id前边几个字符就行,id主要用于区分)
docker rm    容器id		删除容器
docker start 容器id		运行一个已经停止的容器
docker stop	 容器id		停止一个运行的容器
docker exec  -it 容器名称/容器id 		进入容器		例:docker exec -it 294fb bin/bash

连接国内镜像仓库

点击docker desktop 的设置

docker 服务器关机后 docker在电脑关机后_前台进程_09

选择

docker 服务器关机后 docker在电脑关机后_docker_10

添加国内仓库镜像地址 “https://5f2jam6c.mirror.aliyuncs.com”

docker 服务器关机后 docker在电脑关机后_前台进程_11

我这儿使用的是阿里云的镜像

在终端输入:docker info 在最底下的输出中可以看到

docker 服务器关机后 docker在电脑关机后_docker_12

问题一:无法启动容器 docker run -d ubuntu

过程:
最开始启用hello-world容器时,用命令docker ps是能看到这个容器在运行的,但后边把这个容器停止,删除,删除镜像后,重新下载了个ubuntu镜像,这个ubuntu镜像的容器却无法启动了,也不报错,也不启动,可以用docker ps -a看出它就是退出状态

问题分析:
在其他地方找到看到了这么一句话:
我们 docker run 启动容器的时候,常需要将其在后台运行,通常我们设置参数 -d 即可。
但后台运行,其实是有前提的,如果没有前台进程,那么实际运行完docker run命令后,会处于退出状态,即exited。
也就是说这个容器其实是启动成功了,但由于没有前台进程,所以在启动的瞬间又关闭了,好似启动了但又没有完全启动~!

解决方法:
它不是要前台进程吗?给它一个前台进程就是
我们把 docker run ubuntu 改成	docker run -itd ubuntu 

刚也提到,就是-d运行容器时,需要有前台进程,-t提供一个伪终端,类似前台进程,查看容器运行状态,也可以看到,容器处于up状态。

docker run -itd ubuntu
-i 容器启动后终端返回容器的id
-d 容器启动后在后台运行
-t 提供一个伪终端