运行 apt update 时出现以下错误:
E: Failed to fetch https://packages.microsoft.com/ubuntu/16.04/prod/dists/xenial/main/binary-amd64/Packages.bz2 Hash Sum mismatch
E: Some index files failed to download. They have been ignored, or old ones used instead.
在有人认为这已经得到回答之前,我已经尝试了所有给出的解决方案,但没有一个奏效:我尝试过的解决方案:
#solution1
sudo rm -rf /var/lib/apt/lists/*
sudo apt-get update
#solution2
sudo apt-get clean
sudo apt-get update
#solution3
sudo rm -rf /var/lib/apt/lists/partial
sudo apt-get update -o Acquire::CompressionTypes::Order::=gz
#solution4
sudo sed -i -re 's/\w+\.archive\.ubuntu\.com/archive.ubuntu.com/g' /etc/apt/sources.list
Run Code Online (Sandbox Code Playgroud) 我已阅读有关 CMD 和 ENTRYPOINT 的文档
https://docs.docker.com/engine/reference/builder/#entrypoint
在这里,他们在表中提到“不允许使用 CMD 和 NO ENTYRPOINT”,但是我创建了一个没有 CMD 和 ENTRYPOINT 的 Dockerfile,并且镜像构建成功。下载高山焦油从这里高山焦油
文件
from scratch
ADD alpine-minirootfs-3.11.2-x86_64.tar.gz /
COPY . /
Run Code Online (Sandbox Code Playgroud)
构建图像:
docker build -t test:1 .
Sending build context to Docker daemon 2.724MB
Step 1/3 : from scratch
-----
Successfully tagged test:1
docker run -ti test:1 /bin/sh
/ #
Run Code Online (Sandbox Code Playgroud)
有效!!那么为什么在文档中提到 CMD 或 ENTRYPOINT 是必要的?
我阅读了启用实时恢复,但是当我尝试它时。
\nubuntu@ip-10-0-0-230:~$ cat /etc/docker/daemon.json \n{\n "live-restore": true\n}\nRun Code Online (Sandbox Code Playgroud)\n我以分离模式启动了一个 nginx 容器。
\nsudo docker run -d nginx\nc73a20d1bb620e2180bc1fad7d10acb402c89fed9846f06471d6ef5860f76fb5 \n\n\n$sudo docker ps\n\nCONTAINER ID IMAGE COMMAND CREATED STATUS \n \nc73a20d1bb62 nginx "nginx -g \'daemon of\xe2\x80\xa6" 5 seconds ago Up 4 \nseconds\nRun Code Online (Sandbox Code Playgroud)\n然后我停止了dockerd
\nsudo systemctl stop snap.docker.dockerd.service\nRun Code Online (Sandbox Code Playgroud)\n我检查了没有容器在运行
\nps aux | grep nginx\nRun Code Online (Sandbox Code Playgroud)\n之后,我重新启动了 docker 服务,仍然没有任何容器。
\n任何想法?“启用实时恢复”如何工作?
\ndocker ×2
ubuntu ×2
apt ×1
apt-get ×1
dockerfile ×1
package ×1
service ×1
snapcraft ×1
ubuntu-16.04 ×1