要安装Docker Engine,您需要以下Ubuntu版本之一的64位版本:
Docker Engine都支持x86_64
(or amd64
), armhf
, arm64
, s390x
(IBM Z), and ppc64le
(IBM Power) 架构.。
Docker 的旧版本被称为docker
,docker.io
或docker-engine
。如果已安装,请卸载它们:
$ sudo apt-get remove docker docker-engine docker.io containerd runc
如果apt-get
报告未安装这些软件包,则可以。
/var/lib/docker/的内容(
包括图像,容器,卷和网络)被保留。现在将Docker Engine软件包称为docker-ce
。
您可以根据需要以不同的方式安装Docker Engine:
大多数用户会 设置Docker的存储库并从中进行安装,以简化安装和升级任务。这是推荐的方法。
一些用户下载并手动安装 DEB软件包, 并完全手动管理升级。这在诸如在无法访问互联网的空白系统上安装Docker的情况下非常有用。
在测试和开发环境中,一些用户选择使用自动 便利脚本来安装Docker。
在新主机上首次安装Docker Engine之前,需要设置Docker存储库。之后,您可以从存储库安装和更新Docker。
设置存储库
更新apt
软件包索引并安装软件包以允许apt
通过HTTPS使用存储库:
$ sudo apt-get update
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
添加Docker的官方GPG密钥:
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
通过搜索指纹的后8个字符,验证您现在是否拥有带有指纹的密钥 。
$ sudo apt-key fingerprint 0EBFCD88
pub rsa4096 2017-02-22 [SCEA]
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid [ unknown] Docker Release (CE deb)
sub rsa4096 2017-02-22 [S]
使用以下命令来设置稳定的存储库。要添加 每晚或测试存储库,请在以下命令中的单词后面添加nightly
或test
(或同时添加)stable
。
注意:下面的
lsb_release -cs
子命令返回Ubuntu发行版的名称,例如xenial
。有时,在Linux Mint等发行版中,您可能需要更改$(lsb_release -cs)
为父Ubuntu发行版。例如,如果您使用Linux Mint Tessa
,则可以使用bionic
。Docker对未经测试和不受支持的Ubuntu发行版不提供任何保证。
x86_64/amd64架构命令
$ sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
安装DOCKER引擎
更新apt
程序包索引,并安装最新版本的Docker Engine和容器,或转到下一步以安装特定版本:
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
要安装特定版本的Docker Engine,请在存储库中列出可用版本,然后选择并安装:
一个。列出您的仓库中可用的版本:
使用第二列中的版本字符串安装特定版本,例如5:19.03.9~3-0~ubuntu-xenial(最新即可)
。
$ sudo apt-get install docker-ce= docker-ce-cli= containerd.io
即如下5:19.03.9~3-0~ubuntu-xenial命令:
$ sudo apt-get install docker-ce=5:19.03.9~3-0~ubuntu-xenial docker-ce-cli=5:19.03.9~3-0~ubuntu-xenial containerd.io
通过运行hello-world
映像来验证是否正确安装了Docker Engine 。
$ sudo docker run hello-world
此命令下载测试图像并在容器中运行。容器运行时,它会打印参考消息并退出。
扩展:docker安装home-assistant命令
docker run --init -d --name="home-assistant" -e "TZ=America/New_York" -v /PATH_TO_YOUR_CONFIG:/config --net=host homeassistant/home-assistant:stable
您需要替换/PATH_TO_YOUR_CONFIG
为配置路径,例如,如果您选择配置路径为/home/hanhui/homeassistant
,则命令将为:
docker run --init -d --name="home-assistant" -e "TZ=America/New_York" -v /home/hanhui/homeassistant:/config --net=host homeassistant/home-assistant:stable
使用systemd自动启动home-assistant
/etc/systemd/system/home-assistant@YOUR_USER.service
YOUR_USER替换为Home Assistant将以其运行的用户帐户(通常为homeassistant
)。尤其是Ubuntu 16.04。
如果您想使用Docker,以下模板应该适合您。
[Unit]
Description=Home Assistant
Requires=docker.service
After=docker.service
[Service]
Restart=always
RestartSec=3
ExecStart=/usr/bin/docker run --name=home-assistant-%i -v /home/%i/.homeassistant/:/config -v /etc/localtime:/etc/localtime:ro --net=host homeassistant/home-assistant
ExecStop=/usr/bin/docker stop -t 2 home-assistant-%i
ExecStopPost=/usr/bin/docker rm -f home-assistant-%i
[Install]
WantedBy=multi-user.target
您需要重新加载systemd
以使守护程序知道新配置。
要使Home Assistant在启动时自动启动,请启用该服务。
要禁用自动启动,请使用此命令。
要立即启动Home Assistant,请使用此命令。
您也可以用start
上面的内容替换stop
为停止Home Assistant,restart
重新启动Home Assistant和“状态”以查看简短的状态报告,如下所示。
hanhui@hanhui-virtual-machine:~$ sudo systemctl status home-assistant@hanhui
● [email protected]
Loaded: loaded (/etc/systemd/system/[email protected]; enabled; vendor preset: enabled)
Active: active (running) since 二 2020-05-19 16:30:30 CST; 45min ago
Process: 4336 ExecStopPost=/usr/bin/docker rm -f home-assistant-%i (code=exited, status=0/SUCCESS)
Process: 4251 ExecStop=/usr/bin/docker stop -t 2 home-assistant-%i (code=exited, status=0/SUCCESS)
Main PID: 4352 (docker)
CGroup: /system.slice/system-home\x2dassistant.slice/[email protected]
└─4352 /usr/bin/docker run --name=home-assistant-hanhui -v /home/hanhui/.homeassistant/:/config -v /etc/localtime:/etc/localtime:ro --net=host homeassistant/home
...
要获得家庭助理的日志记录输出,请简单使用journalctl
。
由于日志可以快速滚动,因此您可以选择仅查看错误行:
使用Home Assistant时,您可以轻松地重新启动系统,然后通过使用以下命令组合上述命令来查看日志输出 &&
失败时自动重新启动HOME ASSISTANT
如果要在崩溃后自动重新启动Home Assistant服务,请将以下行添加到[Service]
单元文件的部分:
Restart=on-failure
RestartSec=5s