Docker实践挖坑细节
前面写了一些Docker的基础使用的东西,不过真正要学会还是得实际上手,这篇博客就记录一下我实际使用Docker时遇到的一些问题。
这里是之前几篇Docker相关的博文地址:
Windows终端查看Docker出现报错
我在windows直接使用docker ps -a
会出现报错error during connect
。以下是完整报错内容;
1 |
|
实际遇到时,启动Docker的应用就可以解决,这是因为没有开启守护进程。在Linux上可以用以下方式设置开机自动启动Docker:sudo systemctl enable docker
。
报错:repository name must be lowercase
这个报错源自于Dockerfile的编写,执行 docker build -t qa_system:v0.1 .
时出现报错,完整报错如下:
1 |
|
原来是需要都是小写,把Python
改成python
即可。
下载Python依赖库时的路径选择
当我在执行pip download -r .\requirements.txt --dest \downloaded_packages
时,并没有在根目录下找到文件夹。这是因为需要在路径前面加一个.
来指定当前目录。解决方法如下:
1 |
|
命令行参数顺序出错导致无法启动Docker
当build
完容器后,就是run
这个容器,我一开始输的命令是 docker run qa_system:v0.1 -p 8501:8501
,出现了报错:
1 |
|
这是因为命令行应该把容器放在最后写,端口等参数应在前面。正确的应该是docker run -p 8501:8501 qa_system:v0.1
。
完美!现在可以在本地的8501
访问容器的8501
了!
stop容器报错
当我使用Ctrl C
停止了容器的服务后,我想在命令行停止容器,于是我执行了docker stop qa_system:v0.1
,出现报错:
1 |
|
这是因为需要指定容器的id。修改后即可正确stop。
保存镜像为tar文件并发送给其他人
这个是我单纯记不住指令,所以在这写一下。前面我们在本地已经有了镜像,现在我需要把它打包发给别人,需要执行以下指令docker save -o qa_system.tar qa_system:v0.1
。-o
是声明保存后的文件名,后面则附上镜像的版本号。
保存完后将tar文件发送给目标用户,对方只需要执行docker load -i qa_system.tar
即可在对方环境加载镜像。
删除本地的镜像
看了一眼镜像有1.9G,所以打算删一下。执行docker remove qa_system
会报错:
1 |
|
这是因为这个指令只是用来删除容器。删除镜像需要使用rmi
。完整指令如下:
1 |
|
这样就可以顺利删除了。
2024/1/27 于苏州家中