打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
家庭服务器 篇十:docker简明实用入门手册

这是一篇实用型而非技术型的docker入门,主要目的是帮助新手熟悉docker的命令行操作。不会讲复杂的概念,简化讲解操作,适合新手食用。

安装docker

docker安装很简单,Linux系统只需要几句命令,以Ubuntu为例:

sudo apt install docker.io
sudo systemctl start docker
sudo systemctl enable docker

Windows系统建议安装docker for Windows

运行容器

安装好docker后,就可以下载容器镜像并运行了。新手基本使用的是dockerhub上的镜像。我先以测速服务speedtest为例,docker命令可以在Linux的shell窗口和Windows的Powershell窗口和远程控制的SSH窗口中直接运行。

下载容器镜像使用的是docker pull命令(如果不以su用户运行,docker命令都需要在前面加sudo):

sudo docker pull adolfintel

/speedtest

首次运行容器时可以不用上面的命令,因为docker在本地没有发现该容器镜像时,会自动从dockerhub上搜索并下载镜像。不过后续如果要更新容器镜像,则需要用到该命令。

接下来就是运行容器的命令:

sudo docker run --restart=always -d -p 8090:80 adolfintel/speedtest

--restart=always参数意思是容器重启后自动运行,适合需要长期运行的服务;

-p 8090:80参数意思是把speedtest在容器中的80端口映射为本地的8090端口,所以访问docker搭建的/speedtest的地址是:http://IP:8090(不同容器不能映射相同的本地端口,所以如果出现端口冲突,运行前要修改本地端口映射)。

接下来讲一个更复杂一点的例子,运行homeassistant的镜像:

sudo docker run -d
--name homeassistant
--privileged
--restart=unless-stopped
-p 8123:8123
-e TZ=Asia/Shanghai
-v /home/hass/config:/config
ghcr.io/home-assistant/home-assistant:stable

因为这条命令比较长,所以每行都有一个换行符 ,如果没有 全部写成一行也能运行,只是不方便阅读。

整段命令根据实际情况,需要修改的地方只有下列几处:

--name可修改容器名字homeassistant;

-p 8123:8123可修改容器的本地端口映射;

-e TZ=Asia/Shanghai容器内部时区参数,根据实际情况修改;

-v /home/hass/config:/config 这个参数最重要,这个命令的意义是把本地的/home/hass/config文件夹挂载为容器的/config,这样我们就可以把容器的关键配置信息保存到本地。即使删除了容器重新运行,只要本地配置文件还在,就可以保留之前的数据。

我一般会把容器的配置文件放在一个文件夹内,便于备份。所以运行容器前这一行我一定会进行修改。

升级容器

就行软件一样,容器也会不断升级,那么如何操作呢?

如果是没有本地文件的容器很简单:

sudo docker ps -a

查看所有的容器的详细信息,最重要的是容器的ID,找到对应容器的ID,停止运行并删除:

sudo docker stop ID
docker rm ID

然后用docker pull更新最新的镜像,并重新运行即可。

如果是有本地配置文件或者数据文件的镜像,运行时一定要修改文件夹挂载位置和之前的位置相同,这样容器重新运行时会自动加载之前的配置。

每个容器在dockerhub上可能回有一个简短的说明,但是也有很多没有。没有说明的可以去GitHub上搜一下有没有相关的介绍,然后找到运行命令根据自己的实际需求修改一下即可。

删除容器

如果需要彻底删除容器和镜像,首先查看容器的ID

sudo docker ps -a
docker stop ID
docker rm ID

最后删除镜像

docker rmi 镜像名

推荐使用portainer进行可视化的docker管理:

#创建volume
docker volume create portainer_data
#运行portainer
docker run -d -p 8000:8000 -p 9443:9443 --name portainer
--restart=always
-v /var/run/docker.sock:/var/run/docker.sock
-v portainer_data:/data
portainer/portainer-ce:latest

进入http://IP:9443登入后即可管理docker

有了这个简短讲解,详细大家对于docker有了一个基础了解。对于更专业的运维而言还需要自己编辑docker-compose,甚至要自己编排和编译docker镜像,这些拓展知识就不讲解了。大家只需要把容器用起来就好,找几个简短的容器先在服务器上跑起来,慢慢的一切就都熟悉了。

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
树莓派+Docker
无标题
Docker 安装及使用
吊炸天的 Docker 图形化工具 Portainer,必须推荐给你!
Portainer
docker系列:docker-compose用法详解
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服