1、docker快速入门

视频链接

知识点概述
  • docker是轻量级虚拟机
  • image是镜像 相当于虚拟机快照
  • container是容器,相当于运行起来的虚拟机程序
  • Dockerfile 是创建docker镜像的自动化脚本
  • docker-compose 是一个定义和运行多个容器命令的工具,包括运行Dockerfile脚本
  • volume 数据卷,让容器数据持久保存到本机的地方
常用命令
  • 拉取镜像
    docker search mysql 先查看下相关镜像及名字
    docker pull mysql 拉取镜像
    docker images 查看全部镜像
    docker rmi 【镜像名或id】删除镜像
    docker pull hello-world 测试镜像
    docker run hello-world 运行
  • 容器运行
    docker run -p 80:5000 -d 引用的镜像名 --name 容器名 还可以加数据卷
    -p映射端口 前面80是本机端口,后面5000是容器程序暴露的端口 ,也可以一样-p 80:80
    也可以映射多个端口,比如再加一次-p 8080::8080
    -d 指后台运行
    –name 设置容器名
    -v /home/mydata:/app/data 前面是本机文件夹,后面是容器内文件夹;或者使用docker创建的数据卷,-v mysql-data:/var/lib/mysql
    docker ps 列出运行的容器,再加-a列出所有状态容器
    docker rm 【容器名或id】用于删除一个或多个容器
  • 数据卷
    docker volume create mysql-data(数据卷名称) 创建数据卷
    docker volume ls 列出所有的数据卷
    docker volume inspect <volume_name>查看数据卷定义
    docker volume rm [volume_name] 删除数据卷
  • 容器操作
    docker start [volume_name]:启动一个或多个已经被停止的容器
    docker stop [volume_name]:停止一个运行中的容器
    docker restart [volume_name]:重启容器
    docker pause [volume_name] :暂停容器中所有的进程。
    docker unpause [volume_name]:恢复容器中所有的进程。
    docker exec -it [volume_name] /bin/bash:进入容器内操作
    exit退出容器
  • Dockerfile创建镜像
    docker build -t 镜像名 .句点表示在当前目录下寻找Dockerfile(无后缀名),创建完后就用docker run运行
  • docker-compose
    首先编写docker-compose.yml,后续文章再详细展开,这里比如:
version: '3'
services: 
  nginx: 
    image: nginx
    ports: 
      - "443:443" 

docker-compose up -d 运行docker-compose.yml里的所有容器,-d后台运行
docker-compose down 停止并删除,数据卷需要手动删除

  • 查看日志
    如果运行失败,使用docker ps -adocker logs <container_id>命令来检查容器状态和获取错误日志。

2、安装docker

win10安装Docker Desktop更好;我的win7只能安装Docker Toolbox;docker只能运行在linux系统,所以在windows系统上运行的是虚拟的linux环境。

  1. 已经成功下载boot2docker.iso,并放入C:\Users\Administrator.docker\machine\cache
  2. 还是报错:VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component MachineWrap, interface IMachine
    网上找了大部分解决方案,还是不行。
  3. 打开virtualbox查看出错日志:
47c8.28c4: Error (rc=0):
47c8.28c4: supR3HardenedMonitor_LdrLoadDll: rejecting 'C:\windows\system32\uxtheme.dll' (C:\windows\system32\uxtheme.dll): rcNt=0xc0000190
47c8.28c4: supR3HardenedMonitor_LdrLoadDll: returns rcNt=0xc0000190 'C:\windows\system32\uxtheme.dll'
47c8.28c4: supR3HardenedScreenImage/LdrLoadDll: cache hit (Unknown Status -22900 (0xffffa68c)) on \Device\HarddiskVolume1\Windows\System32\uxtheme.dll

怀疑是uxtheme.dll出问题了,修复一下还是不行,文章链接

  1. 再看出错信息
CryptCATAdminEnumCatalogFromHash failed ERROR_NOT_FOUND (1168)
cache hit (Unknown Status -22900 (0xffffa68c)) on \Device\HarddiskVolume1\Windows\System32\user32.dll

这次这篇文章解决了我的问题,文章链接
解决方案就是直接卸载virtualbox,安装降级到低版本4.3.12,下载链接

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部