Win10家庭中文版安装Hyper-V - 知乎 (zhihu.com)
Windows Docker 安装 | 菜鸟教程 (runoob.com)
linux 安装docker - 傻不拉几猫 - 博客园 (cnblogs.com)
启动Docker:
# 启动Docker
systemctl start docker
# 设置开机启动
systemctl enable docker.service
# 查看docker服务状态
systemctl status docker
windows可直接使用Docker Desktop,干净又卫生~
## 关闭docker
PS C:\Users\Administrator> wsl --list -v
NAME STATE VERSION
* docker-desktop Stopped 2
docker-desktop-data Stopped 2
## 备份数据
PS C:\Users\Administrator> wsl --export docker-desktop-data "F:\Docker\wsl\data\docker-desktop-data.tar"
PS C:\Users\Administrator> dir F:\Docker\wsl\data\
目录: F:\Docker\wsl\data
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2021/3/24 下午 7:10 6457722880 docker-desktop-data.tar
## 删除旧数据
PS C:\Users\Administrator> wsl --unregister docker-desktop-data
正在注销...
PS C:\Users\Administrator> wsl --list -v
NAME STATE VERSION
* docker-desktop Stopped 2
## 导入数据到新盘
PS C:\Users\Administrator> wsl --import docker-desktop-data "F:\Docker\wsl\data" "F:\Docker\wsl\data\docker-desktop-data.tar" --version 2
PSC:\Users\Administrator> wsl --list -v
NAME STATE VERSION
* docker-desktop Stopped 2
docker-desktop-data Stopped 2
## 重新启动docker
Docker使用流程:
拉取镜像 ==> 容器 ==> 进入容器 ==> 创建镜像 ==> 保存
清理当前未运行的所有Docker容器:docker system prune
# 查找镜像
docker search ubuntu
# 拉取镜像
docker pull python:3.9.7
docker pull centos
docker run -it --name="xxxxx_01" python:3.9.7 /bin/bash
docker run -it --name xxxxx_02 python:3.9.7 /bin/bash
## 后台运行容器
docker run -d XXXXXX
-it
的作用:-i
选项指示 docker 要在容器上打开一个标准的输入接口,-t
指示 docker 要创建一个伪tty终端,连接容器的标准输入接口,之后用户就可以通过终端进行输入
/bin/bash
的作用:载入容器后运行bash ,docker中必须要保持一个进程的运行,要不然整个容器启动后就会马上kill itself,/bin/bash
就是在启动容器后启动bash
在容器内调用宿主机的CUDA
即,带gpu创建容器
docker run --gpus all -it --name XXX python:3.8 /bin/bash
docker run -itd --name XXX -v E:/Docker_document:/soft -p 5050:5000 deeplearn_tfth:py39 /bin/bash
docker ps -a #查看所有容器
docker ps #显示在运行的容器
## 未启动的容器,使用start启动容器
docker start <container_id>
## 进入已启动容器
docker attach 775c7c9ee1e1 # 随后退出这个容器,会导致容器停止
docker exec -it 775c7c9ee1e1 /bin/bash # 退出该容器时,容器不会停止
### 推荐使用 docker exec
创建容器时-v
是挂载文件目录,用法:-v+本地文件路径+:+容器内文件路径
docker run -it --name XXXXX -v E:/file_name/Docker_document:/soft centos /bin/bash
详解Docker挂载本地目录及实现文件共享_mager的专栏-CSDN博客_docker挂载本地目录到容器
docker run -p 8000:80 -it ubuntu /bin/bash
docker run -P 192.168.0.100:80 -it ubuntu /bin/bash # 宿主机IP+port--》容器port
1、下载基础镜像,生成容器,下载依赖环境,退出容器
2、将该容器制作成镜像,使用docker commit
命令:
docker commit <container的ID> <新的image_name>
实例如下:
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a554ba6ed056 centos:latest "/bin/bash" About a minute ago Exited (0) 33 seconds ago musing_wilson
[root@localhost ~]# docker commit a554ba6ed056 centos:apache
sha256:9cb1f6b6242fd29032772b9507505ed6fc953fbc31adf90e550af93b07823eed
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos apache 9cb1f6b6242f 9 seconds ago 255 MB
docker.io/centos latest 831691599b88 6 weeks ago 215 MB
[root@localhost ~]# docker run -it centos:apache /bin/bash
[root@61d98f417e87 /]# rpm -qa httpd
httpd-2.4.37-21.module_el8.2.0+382+15b0afa8.x86_64
未完待续…
docker save -o [导出的镜像名.tar] [本地镜像名]:[镜像标签]
实例:
docker save -o docker-centos-httpd-image.tar centos:httpd
docker load < XXX.tar >
docker load --input XXX.tar
export/import的用法:
docker export 容器名 > XXX.tar
docker import XXX.tar REPOSITORY:TAG
从本质上来说,save
/load
导出的是镜像,export
/import
导出的是容器
#docker常用命令:
1. 查看容器: docker ps
2. 查看镜像: docker images
3. 删除容器: docker rm 容器name
4. 删除镜像: docker rmi 镜像id
5. 创建容器: docker run --name dockermysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=654321 mysql:5.7.23
6. 启动容器: docker start 容器name #docker start dockermysql
7. 重启容器: docker restart dockermysql
8. 停止容器: docker stop dockermysql
9. 容器交互: docker exec -it dockermysql bash #或 docker attach dockermysql
10.退出交互: Ctrl+P,Ctrl+Q (Ctrl键一直保持按下)
11.设置开机自启: systemctl enable docker
12.容器设置自启,update命令: docker update --restart=always aeccnginx
在项目中经常需要在linux服务器上搭建Python环境,但是由于linux系统的版本等原因,导致内网环境中安装Python及第三方库的过程出现各种问题,因此采用Docker的方式部署Python。大致流程分为以下步骤:1、Docker hub拉取Python镜像 2、创建容器并在容器内增加项目所需第三方库 3、将步骤二的容器制作为镜像 4、将镜像用于内网环境。
原文链接:Docker容器化安装Python、第三方包、制作镜像、内网部署
原文链接:Flask和Docker部署Pytorch深度学习模型_bear507的博客-CSDN博客_flask部署pytorch模型
原文链接:使用Docker在无网络环境下搭建深度学习环境 - InfoQ 写作平台
Docker+Flask服务:
在Docker容器内启动Flask服务时,注意地址设置为“0.0.0.0”,否则只通过端口映射,外部无法访问容器内的服。
<form action = "http://localhost:5000/query" method = "post">