前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >第一章 Docker快速入门

第一章 Docker快速入门

原创
作者头像
喵喵侠
发布2022-01-23 05:09:14
1.5K0
发布2022-01-23 05:09:14
举报
文章被收录于专栏:喵喵学前端喵喵学前端

更换Docker镜像为腾讯云

单击docker小图标,打开docker主界面。选择设置图标,点击Docker Engine,添加registry-mirrors配置如下:

代码语言:javascript
复制
"registry-mirrors": [
  "https://mirror.ccs.tencentyun.com/"
]
​

需要注意的是,配置需要重启才能生效。

吐槽以下,这里的配置粘贴后,代码缩进只能用空格,而不能使用tab。

WSL 2更新提示

安装完docker后,点击restart,居然重启的是计算机而不是docker,然后重启后我外接的两台显示器无法扩展屏幕,变成了同步屏幕。接着出现下面这个提示,说wsl2的安装没有完成。

这个提示后面还是会经常弹的,而且不装这个后面的命令用不了。所以还是去这个链接下载安装一下wsl,msi格式的安装包才16mb,安装起来还是非常快的。

https://aka.ms/wsl2kernel

解决docker安装后出现多个虚拟屏幕的问题

上网查了下,这是启用了hyper v导致的,需要手动下载显卡驱动覆盖安装,具体操作可以参考下面文章。

Windows 10 多出多个虚拟显示器的解决方法Kevin_Zhou的博客-CSDN博客多出一个不存在的显示器

不过还有个更加简单的方式,就是把后面多出来的小显示器设置为“断开此显示器的连接”。

参考文章:

win10检测出不存在的外接显示器的解决办法lemisky的博客-CSDN博客检测不到外接显示器

Docker CLI

输入docker version 后,输入结果如下:

输入docker help,出现docker cli相关命令的用法:

使用Docker运行一个网站

从Docker Hub上,可以找到官方提供的一个网站镜像,名称为getting started。

输入以下命令:

代码语言:javascript
复制
docker run -d -p 80:80 docker/getting-started

结果出现报错:

代码语言:javascript
复制
docker: error during connect: This error may indicate that the docker daemon is not running.: Post "http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/containers/create": open //./pipe/docker_engine: The system cannot find the file specified.
See 'docker run --help'.

原因是我上面没有装wsl,导致没有正常启动docker。

安装wsl后,重启电脑,可以看到docker desktop界面是这样的。

点击start,再次在cmd中执行命令。

执行过程中,一开始会提示Unable to find image 'docker/getting-started:latest' locally ,这个是正常的,说明本地不存在。不用管它,稍等一会儿它就会去线上,也就是我们之前设置的的腾讯云镜像拉取,就可以看到仓库pull的操作了。

接着在浏览器中输入localhost,即可访问网站。

查看镜像

代码语言:javascript
复制
docker image ls #或者docker images

上面两种写法是等价的。

同时也可以在可视化界面查看镜像信息。

查看容器

容器可以在可视化面板中查看

也可以在命令行中查看。

代码语言:javascript
复制
docker container ls #列出容器列表及其信息,也可以使用docker ps

项目的源代码与镜像

安装python后,输入python命令跳出微软应用商店的问题

按win+I快捷键,打开设置。搜索框中输入“别名”,点击“管理应用执行别名”。

取消勾选python和python3即可。

现在就正常了!(注意要关闭之前的命令行窗口,新建的终端命令才会生效)

参考:

CMD opens window store when I type python - Stack Overflow

vscode中python命令不生效

输入python,出现以下提示:

输入ctrl+shift+p,输入Python: Select Interpreter,选择本地的python路径,配置为环境变量。重启计算机后生效。

参考:

windows - VSCode not running Python - Stack Overflow

pip安装依赖出现报错ValueError: check_hostname requires server_hostname

代理关掉就好了。

参考:

pip安装包时出现 ValueError: check_hostname requires server_hostname 错误,解决办法_Noah_D的博客-CSDN博客

安装gsudo,让windows terminal默认管理员运行cmd和powershell

gsudo仓库地址:

gerardog/gsudo: A Sudo for Windows - run elevated without spawning a new Console Host Window

安装方法很简单,打开powershell,输入命令:

代码语言:javascript
复制
winget install gerardog.gsudo

然后修改配置文件,在windows terminal中,点击打开json文件。

在需要的位置,加gsudo.exe前缀。

如果出现报错:

[启动“gsudo.exe powershell.exe”时出现错误 0x80070002]

那么重启下windows terminal,再打开就好了。

只不过每次都要弹出uac提示,有点烦。

我的做法是,复制一个cmd的配置,改成管理员。

这样我就可以根据自己的需要,切换到对应权限的终端了。

关闭nginx

用传统的方式,部署网站访问后,想要关掉怎么做呢?

首先要进入nginx的根目录,右键在此处打开命令行,然后输入命令:

代码语言:javascript
复制
"./nginx" -s stop

这样nginx的进程才会彻底被杀死,手动结束是没有用的。

总结

今天主要熟悉了docker的基本操作,了解了容器和镜像相关的知识。前面docker安装后需要多次重启,wsl也是必不可少的。hyper-v的开启导致我的电脑出现多个小型虚拟显示器,对我产生了一些困扰,好在后面临时解决了。后面主要是卡在了python的环境变量,以及pip的安装操作上,pip对代理很不友好,经常报错。整体而言难度不大,就是有一些坑需要注意,文档还是要好好看。最后面传统方式的部署网站那里我看漏了,以至于我没有看明白意思。期待明天的第2章内容的学习。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 更换Docker镜像为腾讯云
    • WSL 2更新提示
      • 解决docker安装后出现多个虚拟屏幕的问题
        • Docker CLI
          • 使用Docker运行一个网站
            • 查看镜像
              • 查看容器
                • 项目的源代码与镜像
                  • 安装python后,输入python命令跳出微软应用商店的问题
                  • vscode中python命令不生效
                  • pip安装依赖出现报错ValueError: check_hostname requires server_hostname
                  • 安装gsudo,让windows terminal默认管理员运行cmd和powershell
                  • 关闭nginx
                • 总结
                相关产品与服务
                容器镜像服务
                容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档