1、开始想在Win11上用Docker Desktop,但是装好了之后一直运行不了。尝试了好久,配wsl、hyper-v,反正试来试去就是成功不了。于是转战Linux了。
2、Linux安装Docker
(1)安装curl
sudo apt install curl
(2)安装Docker
sudo curl -sS https://get.docker.com/ | sh
(3)测试
sudo docker run hello-world
超时的话可能多运行几次就好了
(4)超时的正确解决方法:换镜像源
sudo curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://d1d9aef0.m.daocloud.io
3、使用交互式终端(以centos:7为例)
sudo docker run centos7
4、查看所有镜像、查看所有容器
sudo docker images
sudo docker ps -a
5、先创建一个新的文件夹,在这个文件夹里创建一个文件Dockerfile,并在这个文件夹下运行终端,输入下面那一行命令,从而使用当前目录的Dockerfile构建镜像(下面的例子是构建一个名字是myimage,tag是hello的镜像。后面的 ’ . ’ 表示用当前目录的Dockerfile)。大概是在Dockerfile里放一些命令,然后根据这些命令基于一个之前的镜像构建出一个新的镜像。
sudo docker build -t myimage:hello .
Dockerfile文件示例如下:
# Base Images
## 从基础镜像构建(from的base img 根据自己的需要更换)
FROM registry.cn-shanghai.aliyuncs.com/tcc-public/pytorch:1.1.0-cuda10.0-py3
##安装python依赖包
RUN pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple
## 把当前文件夹里的文件构建到镜像的根目录下,并设置为默认工作目录
ADD . /
WORKDIR /
## 镜像启动后统一执行 sh run.sh
CMD ["sh", "run.sh"]
6、删除容器、删除镜像
sudo docker rm 容器id
sudo docker rmi 镜像id
7、运行镜像(d表示在后台运行)
sudo docker run -itd 镜像id或者镜像名:tag
sudo docker ps
docker exec -it 容器id /bin/bash
8、保存成新的镜像(其实tag就相当于版本号)
sudo docker commit 容器id 镜像名:tag
9、push到仓库
sudo docker push registry.cn-hangzhou.aliyuncs.com/xxxxxxx/xxxxxxxxxxxx:0.1