加上这三行就可以了
RUN pip install -U pip
RUN pip config set global.index-url http://mirrors.aliyun.com/pypi/simple
RUN pip config set install.trusted-host mirrors.aliyun.com
加上这三行就可以了
RUN pip install -U pip
RUN pip config set global.index-url http://mirrors.aliyun.com/pypi/simple
RUN pip config set install.trusted-host mirrors.aliyun.com
阿里云个人镜像(速度最快,下边是中科大的公共镜像,个人镜像的获取方法见本文最后)
https://ustc-edu-cn.mirror.aliyuncs.com
网易镜像
百度镜像
docker官方国内镜像
https://registry.docker-cn.com
中科大镜像(不要用这个,现在已无法外网访问,仅限学校内网使用)
https://docker.mirrors.ustc.edu.cn
修改/etc/docker/daemon.json(如果没有则新建此文件)
内容如下:
{
"registry-mirrors": ["https://ustc-edu-cn.mirror.aliyuncs.com"]
}
也可以配置多个地址:
{
"registry-mirrors": ["https://ustc-edu-cn.mirror.aliyuncs.com",
"https://hub-mirror.c.163.com"
]
}
docker info
1、 查看当前用户组中是否有docker组
sudo cat /etc/group | grep docker
2、 如果没有则创建
sudo groupadd docker
3、 将用户加入docker组
sudo usermod -aG docker $USER
sudo usermod -aG dockerroot $USER
4、 退出用户重连即可
在系统长期运行器件,会出现硬盘使用占满的情况。这时候需要考虑docker容器迁移。步骤如下:
1、创建硬盘
fdisk /dev/sdb
2、格式化硬盘
mkfs.ext4 /dev/sdb1
3、挂载硬盘
mkdir /mnt/tHDD
mount /dev/sdb1 /mnt/tHDD
4、自动挂载硬盘
blkid /dev/sdb1
vim /etv/fstab
UUID=e3746c50-ace6-4c88-bcf7-175ebbdcf13f /mnt/tHDD ext4 error=remount-ro 0
1、拷贝文件
cp -rfp /var/lib/docker /mnt/tHDD
注意:cp 指令需要添加p参数,防止拷贝过程中被修改文件权限。
2、修改配置
vim /etc/docker/daemon.json
{
"data-root": "/mnt/tHDD/docker",
"registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"]
}
3、重启docker
sudo systemctl daemon-reload
sudo systemctl restart docker
注意:如果是多dockers,最好重启机器。
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://yxzrazem.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
1、在镜像内部更换
# 备份原来的文件
cp /etc/apt/sources.list /etc/apt/sources.list.bak
# 更换覆盖原来的文件
mv /home/sources.list /etc/apt/sources.list
apt-get update
2、用Dockerfile构建时更换
FROM python:3.6.7
WORKDIR /home/code/
RUN cp /etc/apt/sources.list /etc/apt/sources.list.bak
COPY . .
ADD sources.list /etc/apt/
RUN apt-get update
1、尝试启动docker
root@DESKTOP-3TQ8K9B:~# systemctl start docker
Job for docker.service failed because the control process exited with error code.
See "systemctl status docker.service" and "journalctl -xeu docker.service" for details.
2、查看启动log
root@DESKTOP-3TQ8K9B:~# sudo dockerd --debug
INFO[2022-08-05T23:05:51.543106408+08:00] Starting up
......
failed to start daemon: Error initializing network controller: error obtaining controller instance: unable to add return rule in DOCKER-ISOLATION-STAGE-1 chain: (iptables failed: iptables --wait -A DOCKER-ISOLATION-STAGE-1 -j RETURN: iptables v1.8.7 (nf_tables): RULE_APPEND failed (No such file or directory): rule in chain DOCKER-ISOLATION-STAGE-1
(exit status 4))
3、解决问题
sudo update-alternatives --set iptables /usr/sbin/iptables-legacy