一文读懂Docker
一篇文章,让你读懂什么是Docker?
为什么要Docker
其实在笔者看来,docker
主要是为“懒人”提供了方便。如我们在运行某些程序时,需要给其部署相关的环境,如运行HA时,需要解决相关Python环境。运行都web站点时,需要部署php
mysql
等环境。而通过Dokcer我们无需部署各类复杂的环境,只需一键启动。
什么是Docker
Docker
可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
安装Docker
我们以kali为例,简单说说基于debian系统下,docker的安装。只需下面命令进行安装。
apt-get install docker.io
安装完成后,你可以使用以下命令来启动 Docker 服务:
systemctl start docker
#或者
service docker start
开机自启
systemctl enable docker
在设置成自启动时系统会显示如下内容。
我们执行上面内容即可。
/usr/lib/systemd/systemd-sysv-install enable docker
什么是镜像
说简单点,如我们想在Linux服务器中运行win11系统。我们就需要拉取和系统架构一样的win11镜像。我们常用docker pull
命令来拉取镜像。
需要注意的是,由于某些原因。拉取镜像是非常慢。各种镜像加速源都扑街。下面是笔者找到可用的方法。(随时可能会失效)
cat > /etc/docker/daemon.json <<EOF
{
"log-driver": "json-file",
"log-opts": {
"max-size": "20m",
"max-file": "3"
},
"ipv6": true,
"fixed-cidr-v6": "fd00:dead:beef:c0::/80",
"experimental":true,
"ip6tables":true,
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://dockerhub.icu",
"https://docker.anyhub.us.kg",
"https://docker.1panel.live"
]
}
EOF
写入新的配置文件后,需要我们重启docker
如,我们要拉取HomeAssistant的镜像,可以执行下面命令。
docker pull homeassistant/home-assistant:latest
代码中homeassistant/home-assistant
就是镜像名称。默认是从 Docker Hub 公共镜像源下载。latest
是镜像的版本,默认为最新版。也可指定如2023.1.1
创建容器
什么是容器?通俗点讲就是把每个镜像放到箱子
中。彼此互不影响。
如上,我们可以通过下面命令创建容器。
docker run -d --name="hass" -v /root/hassistant:/config -p 8123:8123 homeassistant/home-assistant:latest
参数说明:
-
--name
:容器名称(自定义) -
-v
: 挂载点位置,如果不设置系统会自动设置,但路径不好找。 -
-p
: 容器对应的端口,不要和主机的端口冲突。
其他常用命令
#启动容器
docker start hass #hass为容器名称
#重启
docker restart hass
#开机自启
docker update --restart=always hass
阅读剩余
版权声明:
作者:admin
链接:http://999.zuizhuai.cn/?p=8807
文章版权归作者所有,未经允许请勿转载。
THE END