新手在使用docker的时候一定会有这样那样的疑问,大佬们在写教程的时候只会教人怎么做,却很少有人去解释各种概念,这些概念在大佬们眼中可能只是一些常识,但是对小白来说却需要花很多时间去理解。
本文已飞牛docker为例,讲解一下docker的常规使用方法,科普一下在使用过程当中的一些概念,让小白们少走一些弯路。
使用方法
常见的有两种使用方法 ,第1种是直接用可视化面板安装Docker容器,第2种是用docker compose。本人推荐使用第2种,第2种更方便一些。下面我们展开来讲这两种方法。
1.可视化面板直接安装
首先,通过可视化面板安装容器,你得选好服务的储存位置。

然后,去镜像仓库搜索下载你需要安装的容器的镜像。

镜像下载完毕之后,到本地镜像开始建立容器进行各种设置,这里进入手动安装容器的关键。


下一步后进入到各种设置,这里来到了小白最不理解的地方,左右两边到底应该改哪一个。
这里修改的所有设置,都是左边对应你本地访问的地方,也就是本地持久化设置;右边指的是容器设置,容器都是独立个体,所有设置都已经固定好了,所以右侧不能更改。以上面图片中端口为例,左边改成你需要使用的端口,防止端口占用,右侧不变。

储存路径指的是将容器内部的文件夹映射到你本地文件夹,可以通过文件夹图标选择,也可以直接到文件夹属性里复制路径粘贴过来。


环境变量一般根据容器文档自行添加,不同容器有不同的 变量要求,需要你去容器官方文档查看;功能一般默认就好,不放心就用最高权限执行。

docker的网络一般分为bridge桥接和host,bridge就是指容器在单独的子网下,需要你把端口映射出来访问;host就是直接使用设备本地网络,也就是说使用host网络时不需要进行上方的端口设置,但是使用host网络非常容易造成端口冲突,所以一般使用桥接网络。
设置好后就可以确认信息创建容器了。

然后到容器界面点击运行,然后点链接图标就能访问了。

这就是第一种可视化安装方法,一步步操作即可,这里说一下容器运行环境的问题,好多容器需要配置相应的环境参数,直接百度该应用的官方网站一般都有文档,也可以到镜像仓库界面点击跳转链接访问docker仓库,比较讲究的作者一般都有文档。


当然,好多访问你需要有一个比较科学的环境,如果没有你可以看我之前的文章,
传送门:折腾的开端-从科学上网开始
2.compose安装
我比较推荐这种方法,先写好配置,然后一键运行就可以,还可以保存好yml文件方便以后一键恢复,下面我们就来学习一下操作过程和yml内容的含义。

过程非常简单,到compose界面创建项目,填好名称,选好本地安装位置,直接粘贴好compose代码确认即可,然后点击构建,容器就自动下载运行了。重点是compose代码的含义。下面以emby的官方代码为例:
version: "2.3"
services:
emby:
image: emby/embyserver #这个是镜像名称
container_name: embyserver #这个是容器名称,你可以改成自己喜欢的,但是不能是中文
runtime: nvidia # Expose NVIDIA GPUs
network_mode: host # Enable DLNA and Wake-on-Lan #这个是网络,我们一般改成bridge桥接
environment: #这个是环境变量,你可以对应着可视化操作去看在可视化的哪一部分
- UID=1000 # The UID to run emby as (default: 2)
- GID=100 # The GID to run emby as (default 2)
- GIDLIST=100 # A comma-separated list of additional GIDs to run emby as (default: 2)
volumes: #这个部分对应着可视化的文件映射部分
- /path/to/programdata:/config # Configuration directory #这个映射的是设置文件夹
- /path/to/tvshows:/mnt/share1 # Media directory #下边这俩映射的是媒体文件夹,:左边更改成你本地路径
- /path/to/movies:/mnt/share2 # Media directory
ports: #这一部分映射的是端口,同样:左边改成你需要的端口,如果选的是host网络这部分就不生效,你只能使用8096和8920
- 8096:8096 # HTTP port
- 8920:8920 # HTTPS port
devices: #这部分是映射硬解驱动,这就是emby不同于其他容器的部分,应为别的可能用不到硬解功能
- /dev/dri:/dev/dri # VAAPI/NVDEC/NVENC render nodes
- /dev/vchiq:/dev/vchiq # MMAL/OMX on Raspberry Pi
restart: on-failure
了解可视化操作后,再看conpose代码的注释部分,一一和可视化操作对应,是不是就非常容易理解了?那么教程就到这里,以后我会直接以分享一些好玩的docker应用给大家。
Comments NOTHING