ubuntu 安装docker
-
Ubuntu Hirsute 21.04
-
Ubuntu Groovy 20.10
-
Ubuntu Focal 20.04 (LTS)
-
Ubuntu Bionic 18.04 (LTS)
docker
或者 docker-engine
,使用以下命令卸载旧版本:$ sudo apt-get remove docker \ docker-engine \ docker.io
apt
源使用 HTTPS 以确保软件下载过程中不被篡改。因此,我们首先需要添加使用 HTTPS 传输的软件包以及 CA 证书。$ sudo apt-get update
$ sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg \ lsb-release
GPG
密钥。$ curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg # 官方源 # $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
sources.list
中添加 Docker 软件源$ 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 # 官方源 # $ echo \ # "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ # $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
以上命令会添加稳定版本的 Docker APT 镜像源,如果需要测试版本的 Docker 请将 stable 改为 test。
docker-ce
:$ sudo apt-get update $ sudo apt-get install docker-ce docker-ce-cli containerd.io
--mirror
选项使用国内源进行安装:若你想安装测试版的 Docker, 请从 test.docker.com 获取脚本
# $ curl -fsSL test.docker.com -o get-docker.sh $ curl -fsSL get.docker.com -o get-docker.sh $ sudo sh get-docker.sh --mirror Aliyun # $ sudo sh get-docker.sh --mirror AzureChinaCloud
$ sudo systemctl enable docker
$ sudo systemctl start docker
两种方法迁移 Docker 的默认安装(存储)目录
如果是通过 Ubuntu 的 apt-get 安装的 Docker,默认的安装目录应该是: /var/lib/docker 。
为了完全确定,可以使用以下的命令查询真正的安装路径:
sudo docker info | grep "Docker Root Dir"
前置工作
下文以/store/software/docker 这个路径作为要迁移的新 Docker 安装(存储)目录
在开始迁移之前,首先复制原 Docker 安装(存储)目录到新的路径下:
cp -a /var/lib/docker /home/docker/
然后备份原目录数据:
mv -u /var/lib/docker /var/lib/docker.bak
方法一:软链接
通过把 Docker 的原安装(存储)目录移动到自定义的其他路径下,然后在原位置下建立软链接是最简单快捷的方式。
首先,关停 Docker 服务:
sudo systemctl stop docker
# or
sudo service docker stop
接着,新建一个 /var/lib/docker 的软链:
sudo ln -fs /home/docker /var/lib/docker
最后,重启 Docker 服务:
sudo systemctl start docker
# or
sudo service docker start
启动 Docker 之后,以后你 pull image 和 run container,Docker 写入的路径依然是/var/lib/docker ,但是因为软链的设置,实际已经是往新的目录写入了。至此,完成了 Docker 安装(存储)目录的迁移。
方法二:直接修改 Docker 配置文件
Docker 版本 < v17.05.0
因为 dockerd 运行 Docker 服务的时候可以通过参数 graph 指定镜像和容器存放路径,比如: –graph=/var/lib/docker ,我们只需要修改配置文件指定启动参数即可。
Docker 的配置文件可以设置大部分的后台进程参数,在各个操作系统中的存放位置不一致,在 Ubuntu 中的位置是: /etc/default/docker ,在 CentOS 中的位置是: /etc/sysconfig/docker 。
# 如果是 CentOS 则添加下面这行:
OPTIONS=--graph="/home/docker" --selinux-enabled -H fd:// # 如果是 Ubuntu 则添加下面这行(因为 Ubuntu 默认没开启 selinux): OPTIONS=--graph="/home/docker" -H fd:// # 或者 DOCKER_OPTS="-g /home/docker"
Docker 版本 >= v17.05.0
因为 Docker 官方在这个发行版本就 deprecated 了 graph 这个 feature,所以如果你机器上安装的 Docker 版本 >= v17.05.0,则无法通过在 /etc/default/docker 配置文件中指定 graph 参数来修改 Docker 的默认安装(存储)目录了,具体参见官网文档:Docker Docs。
好在天无绝人之路,新版本的 Docker 还有其他方式可以达到我们修改安装(存储)目录的目的:通过修改(新建) /etc/docker/daemon.json ,指定 data-root 参数的值。
按如下操作:
vim /etc/docker/daemon.json
加入
{ "data-root": "/store/software/docker", "storage-driver": "overlay2" # 这个是 Docker 是默认设置,这里也可以不用加 }
重启 Docker & 清理原安装(存储)目录
最后,重启 Docker 服务:
sudo systemctl restart docker
# or
sudo service docker restart
通过上述任一方法完成迁移之后,在确认 Docker 能正常工作之后,删除备份的原目录数据:
rm -rf /var/lib/docker.bak
参考链接
[1] Docker配置本地镜像与容器的存储位置 https://blog.csdn.net/wenwenxiong/article/details/78728696
[2] Control Docker with systemd https://docs.docker.com/config/daemon/systemd/
[3] Deprecated Engine Features https://docs.docker.com/engine/deprecated/#-g-and---graph-flags-on-dockerd
安装net5.0
https://www.cnblogs.com/yhuse/p/net5.html
nginx安装
https://zhuanlan.zhihu.com/p/138007915
sudo apt install libc6-dev
sudo apt install libgdiplus
# docker update --restart=always 容器名或容器ID docker update --restart=always <CONTAINER ID> # 例如将tomcat设为自启动 docker update --restart=always tomcat
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了