# Docker 一键安装命令
curl -fsSLo- get.docker.com | /bin/sh
# 国内使用阿里云镜像
wget get.docker.com -O get.docker.sh
bash get.docker.sh --mirror Aliyun
# 运行 hello-world 检查Docker引擎是否安装
docker run hello-world
# 运行一个 Ubuntu 容器
docker run -it ubuntu bash
# 显示所有的容器
docker ps -a
# 显示本机镜像
docker images
# 查看Ubuntu镜像的历史
docker history hello-world
# 查看镜像的历史
docker history ubuntu
# 删除所有容器
docker rm -f $(docker ps -qa)
# 删除所有镜像
docker rmi -f $(docker images -qa)
# 使用国内镜像,显示deb包 源为 mirrors.aliyun.com
cat /etc/apt/sources.list.d/docker.list
deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/debian buster stable
镜像下载 修改 vim /etc/docker/daemon.json 添加 国内源,网上可以查
限制日志大小, vim /etc/docker/daemon.json 里设置
没有去用过,使用脚本 自动删除也是可以的
Docker 不是虚拟机,所以使用 htop 工具,是可以看到容器中运行的程序,运行的服务程序实际还是在宿主机上的,只是 Docker 容器挂载了虚拟的文件系统,Docker中的程序是和宿主机其他程序 文件系统隔离的。
如图 使用简单的命令,可以 进入 一个当前活动的容器的 root 目录,可以看到 /var/lib/docker/overlay2/ed3..... /merged 是这个容器的 / 根目录
df -h
cd /var/lib/docker/overlay2/ed3b19ce3a1402bd9a09ccde057145129714e5e70e7f6255e3d96e73feb9b50e/merged
ls
docker 安装后有2个重要目录 /var/lib/docker/containers
/var/lib/docker/overlay2
docker ps -a
运行后 会显示 CONTAINER ID < ba5148927a1e> ba5148927a1e 就是 hello-world 这个容器的 ID
/var/lib/docker/containers/ba5148927a1e98322f8628650e8ef3b3ddd38e88bb59669dadf82433e932be7a (ID前缀的这个长目录就还是容器目录)
里面保存了 这个容器的配置,主要保存在 config.v2.json文件中, ID前缀....log 就是这个容器的 运行日志
docker logs ba5148927a1e 就能查看日志
新手 在目前国内环境,python3和库环境不一定能装好
Python3 With Network Library ( html2text scrapy beautifulsoup4 ipip-ipdb )
所以请在虚拟机里安装个 docker ,使用我制作的 python3 容器镜像
docker run -d --restart=always -v /app:/app --name python3 hongwenjun/python3 python3 -m http.server 8000
然后使用 这样命令 交互模式学习
docker exec -it python3 python3 -i me.py
这个镜像的 Dockerfile 里面已经安装学习爬虫够用的网路库
直接使用github上的 Dockerfile 来编译构建 镜像
docker build -t python3 https://raw.githubusercontent.com/hongwenjun/nginx-php/main/python3/Dockerfile