赞
踩
dockerhub:https://hub.docker.com/
docker-destop:https://www.docker.com/products/docker-desktop/
如果你开发了一款软件,想要发布到云上给用户使用。那么你需要保证该用户的环境能够保证运行该软件。最简单地就是保证该用户的环境与你本地环境一致。此时我们会想到“虚拟机”,但是虚拟机需要模拟硬件来运行整个操作系统,不但体积臃肿、内存占用高,还会影响程序的性能。这时,我们引入docker来帮助我们。
docker在概念上与虚拟机非常类似,但轻量很多。
docker中一个环境就是一个容器。dockerfile,自动化脚本,主要用来创建镜像。
image,镜像,约等于一个虚拟机的快照,里面包含了要部署的应用程序和它关联的所有库。
通过镜像,我们可以创建许多个container,容器。容器互不影响,容器里面直接运行了应用程序。
镜像和容器的关系就像是类和实例的关系。
请见其他相关教程。
使用官网下载docker-destop:https://www.docker.com/products/docker-desktop/
或者使用我上传的资源下载:【免费】DockerDesktop安装资源-CSDN文库
打开DockerDesktop遇到“You need to log out of Windows,Then your "docker-users"membership will be taken into account“。
解决方法:点win11,然后点用户名,然后点注销。重启电脑后再次启动Docker Desktop图标,发现可以进入。
解决方案:首先查看控制面板下的“启用或关闭Windows功能”里,是否有“Hyper-V”,有的话勾选即可。
如果没有Hyper v,见http://t.csdn.cn/8lm5k
解决方案:提示说“WSL不是最新版”,所以打开命令行,输入“wsl --update”进行更新即可。
终于,我们打开了Docker(泪目)。
- FROM python:3.-slim-buster
- WORKDIR /app
- COPY ..
- RUN pip3 install -r requirements.txt
- CMD ["python3", "app.py"]
COPY <本地路径><目标路径>,第一个点代表根目录下的所有文件,第二个点表示当前的工作路径
RUN允许我们在创建镜像时运行任意的shell命令。
Pip install 来安装Python程序的所有关联。
CMD来指定当Docker容器运行之后要执行的命令
打开vscode终端,输入命令
docker build -t yourImageName .
-t 后面跟的参数yourImageName应该替换成你要创建的镜像的名字。
最后的.告诉docker应该在当前目录下寻找这个Dockerfile
打开vscode终端,输入命令
docker run -p 80:50000 -d yourImageName
-p 后面跟的参数是本机端口:映射的docker容器的端口
-d 让容器在后台运行,这样容器的输出就不会直接显示在控制台上。
dockerdesktop可以查看程序的动态数据。
列举所有的容器:docker ps
停止容器:docker stop <容器ID>
重启容器:docker restart <容器ID>
删除容器:docker rm <容器ID>
启动一个远程sell:docker exec -it <容器ID> /bin/bash
类似一个在本地主机和不同容器中共享的文件夹。
docker run -dp 80:5000 -v yourImageName:/xxx/xxx yourImageName
-v 后面跟着的yourImageName:/xxx/xxx 是数据卷挂在的容器的路径。
最后的yourImageName 是数据卷要挂载到哪个容器上。
- version: 3
- services:
- web:
- build:
- ports:
- - "80:5000"
- db:
- image: "mysql"
- environment:
- MYSQL_DATABASE: yourSQLname
- MYSQL_ROOT_PASSWORD: yourSQLpassword
docker compose up -d
docker compose down 停止并删除所有容器,但不删除数据卷
docker compose down --volumes 停止并删除所有容器和数据卷
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。