学习 docker
直接 Docker Desktop for windows ,直接下载 windows 版本的 docker
- Set up Docker's repository
.apt
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
# 阿里 官方 二选一
# 阿里
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# 官方
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# 阿里 官方 二选一
echo \
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 官方 Add the repository to Apt sources:
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
- 安装
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
安装完之后 自动 systemctl 启动
-
docker ps
-
docker images
-
docker run -d --name ???? -p ??:?? ???
-
docker save -o kosmos2_model.tar kosmos2_show:latest
-
docker load -i kosmos2_show.tar
本来我只是想挪动一下镜像目录的,但是我发现不好挪动,干脆把整个都挪过去了
-
停掉 docker
systemctl stop docker -
查看一下 docker 原始目录在哪
-
创建新的 docker 目录(并指定权限)
cd /data1 && sudo mkdir docker && sudo chmod 710 docker/ -
迁移数据
sudo cp -r /var/lib/docker/. /data1/docker/ -
备份数据
sudo mv /var/lib/docker /var/lib/docker.bak -
建立软链接
sudo ln -s /data1/docker /var/lib/docker -
启动
systemctl start docker
难用死了,还是用代理吧
实际上 docker pull 这种命令归 docker daemon 管,即 docker 的守护进程。而官方文档的操作正是把 docker daemon 进行代理。
操作前记得不要跑重要容器,因为后面要重启 docker 的
-
创建 docker.service 的目录
sudo mkdir -p /etc/systemd/system/docker.service.d -
写入配置
sudo vim /etc/systemd/system/docker.service.d/http_proxy.conf内容如下:
[Service] Environment="HTTP_PROXY=http://127.0.0.1:7890" Environment="HTTPS_PROXY=http://127.0.0.1:7890" Environment="NO_PROXY=localhost,127.0.0.1" -
加载配置并重启
sudo systemctl daemon-reload sudo systemctl restart docker -
查看环境变量
sudo systemctl show --property=Environment docker
需要自己在启动容器的时候-e 指定的语言,怪
需要手动将环境变量永久化,ENV 如果写到一行里,是没办法$调用的,不同行的 ENV 就可以
