赞
踩
目录
切换容器模式。switch to linux containers是切换到linux模式
安装条件
1、docker for windows只适用于win8以上的系统,win10是现在的主流,所以这里我将介绍的是win10系统中docker的安装和使用。
2、开启电脑的虚拟化,一般电脑都是默认开启的。可以在任务管理器->性能->CPU下查看虚拟化是否开启。
3、查看Hyper-v是否开启,启用Hyper-v可以在电脑中配置虚拟机。开启步骤:控制面板->程序->启用或关闭Windows功能->把Hyper-v勾上->最后重启电脑就可以了。查看虚拟化是否启用
打开任务管理器,选择性能,右下方的虚拟化是否是已启用
如果显示禁用, Enabled Virtualization (Hyper-V, etc) in your BIOS, 你得开机进入BIOS里把Virtualization的选项变成Enabled
Hyper-V虚拟机开启
控制面板-->程序-->启用或关闭Windows功能-->Hyper-V
查看状态:此电脑右键-->管理-->服务和应用程序-->服务-->Hyper-V虚拟机管理
上述操作也可以通过命令操作
#开启Hyper-V,如果通过控制面板方式不能正常开启可以这样 Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All #和上方对应,取消开启Hyper-V #Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V #开启Hyper-V后关闭服务 #bcdedit /set hypervisorlaunchtype off #和上方关闭Hyper-V服务对应,开启服务 bcdedit /set hypervisorlaunchtype auto下载
下载网址:https://github.com/docker/toolbox/releases
使用阿里云容器镜像服务下载
在docker官网下载特别慢,进入阿里云容器镜像服务(https://www.aliyun.com/ -> 搜索"容器镜像服务")下载速度很快还提供镜像加速器和文档
下载
安装与镜像加速配置
安装
点击一键安装
安装完成后点击桌面的快捷方式,如果启动成功,右下角任务栏会有docker的图标
镜像加速设置
docker图标右键,Settings-->Daemon-->Advanced(进入json)-->将自己的加速器地址写入(操作文档上有教程)-->apply后等待docker重启。(可使用阿里云镜像加速器)
切换容器模式。switch to linux containers是切换到linux模式
修改docker pull镜像文件存放位置
windows下docker desktop默认安装位置位于C盘,且再安装时无法选择,拉取的docker镜像文件也位于C盘,为了避免C盘空间被大量占用,需要将docker镜像存放位置修改为其它分区
Settings
启动Docker for Windows,会在系统托盘部分显示一条小鲸鱼的图标:
。在Docker完全启动之前,小鲸鱼背上的小方块会不停地闪烁变化
该对话框主要包含了针对运行Docker Daemon和虚拟环境的配置
- Shared Drivers:可以将主机(也就是Windows机器)中的驱动器共享到Docker Container中
- Advanced:用于配置运行Docker Daemon的虚拟环境的CPU和内存
- Network:配置Docker的网络环境
- Proxies:代理的配置
- Docker Daemon:使用JSON格式的设置,对Docker Daemon进行配置,类似于在Linux环境中使用conf文件对Docker进行配置
Docker for Windows的安装过程会在Hyper-V中创建一台用于运行Docker Daemon的Linux虚拟机,这个对话框中的很多配置也就是针对该虚拟机所作出的配置。当配置发生更改后,Docker for Windows会重新启动(小鲸鱼背上的小方块又会动起来),这个过程其实就是这台Linux虚拟机的配置进行动态调整和重启的过程。
运行Docker命令
尝试docker命令安装nginx
docker pull nginx
docker run --name nginx -p 80:80 -d nginx
- --name="nginx": 为容器指定一个名称
- -p: 指定端口映射,格式为:主机(宿主)端口:容器端口
- -d: 后台运行容器,并返回容器ID;
查看容器进程
docker ps
查看镜像
docker images
常用命令
常用的查看命令
# 查看docker容器版本 docker version # 查看docker容器信息 docker info # 查看docker容器帮助 docker --help # 镜像查看 # 列出本地images(镜像) docker images # 含中间映像层 docker images -a # 只显示镜像ID docker images -q # 含中间映像层 docker images -qa # 显示镜像完整信息 docker images --no-trunc # 查看正在运行的容器 docker ps # 查看正在运行的容器的ID docker ps -q # 查看(所有容器)正在运行+历史运行过的容器 docker ps -a # 显示运行容器总文件大小 docker ps -s #显示最近创建容器 docker ps -l # 显示指定镜像的历史创建;参数:-H 镜像大小和日期,默认为true;--no-trunc 显示完整的提交记录;-q 仅列出提交记录ID docker history -H redis # 镜像搜索 # 搜索仓库MySQL镜像 docker search mysql # --automated :只列出 AUTOMATED=OK 的镜像 docker search --automated mysql # 镜像下载 # 下载Redis官方最新镜像 docker pull redis # 下载仓库所有Redis镜像 docker pull -a redis # 下载私人仓库镜像 docker pull bitnami/redis # 镜像删除 # 单个镜像删除 docker rmi redis # 强制删除(针对基于镜像有运行的容器进程) docker rmi -f redis # 多个镜像删除,不同镜像间以空格间隔 docker rmi -f redis tomcat nginx # 删除本地全部镜像 docker rmi -f $(docker images -q)镜像的操作命令
# 查看本地images(镜像) docker images # 下载镜像 docker pull nginx # 删除镜像 docker rmi redis # 强制删除(针对基于镜像有运行的容器进程) docker rmi -f redis # 查看正在运行的容器 docker ps # 查看所有的容器 docker ps -a # 新建并启动容器,参数:-i 以交互模式运行容器;-t 为容器重新分配一个伪输入终端;--name 为容器指定一个名称,-d 以守护方式启动容器(后台) docker run --name nginx -p 80:80 -d nginx # 停止一个运行中的容器 docker stop redis # 删除一个运行中的容器 docker rm redis docker rm -f redis # 启动一个或多个已经被停止的容器 docker start redis # 重启容器 docker restart redis # 杀掉一个运行中的容器 docker kill redis # 删除一个已停止的容器 docker rm redis #获取正在运行的容器redis的 IP docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' redis容器与主机间的数据拷贝
# 将rabbitmq容器中的文件copy至本地路径 docker cp rabbitmq:/[container_path] [local_path] # 将主机文件copy至rabbitmq容器 docker cp [local_path] rabbitmq:/[container_path]/ # 将主机文件copy至rabbitmq容器,目录重命名为[container_path](注意与非重命名copy的区别) docker cp [local_path] rabbitmq:/[container_path]其他
# 查看redis容器日志,默认参数 docker logs redis # 查看redis容器日志,参数:-f 跟踪日志输出;-t 显示时间戳;--tail 仅列出最新N条容器日志; docker logs -f -t --tail=20 redis # 查看容器redis从2019年05月21日后的最新10条日志。 docker logs --since="2019-05-21" --tail=10 redis # 基于当前redis容器创建一个新的镜像;参数:-a 提交的镜像作者;-c 使用Dockerfile指令来创建镜像;-m :提交时的说明文字;-p :在commit时,将容器暂停 docker commit -a="DeepInThought" -m="my redis" [redis容器ID] myredis:v1.1 # -l 移除容器间的网络连接,连接名为 db docker rm -l db # -v 删除容器,并删除容器挂载的数据卷 docker rm -v redis # 列出redis容器中运行进程 docker top redis
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。