1007 字
5 分钟
Docker
安装
群晖
通过套件中心搜索安装即可
通用脚本安装
-
切换到root用户,拉去脚本安装
Terminal window sudo -i #使用root用户登录,按提示输入密码,密码默认不显示,输入完直接回车即可curl -fsSL get.docker.com -o get-docker.sh #脚本拉取 -
执行脚本
Terminal window sh get-docker.sh --mirror Aliyun \\使用阿里云加速 -
安装docker-compose
Terminal window curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose如果速度感人,可以用以下命令
Terminal window curl -L https://get.daocloud.io/docker/compose/releases/download/1.26.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose提升权限
Terminal window sudo chmod +x /usr/local/bin/docker-compose测试是否成功
Terminal window docker-compose --version
centos系统安装docker
-
如果有安装过以下版本,必须执行以下代码先行删除旧版本
Terminal window yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine -
安装软件包(提供实用程序)
Terminal window yum install -y yum-utils -
设置存储库
Terminal window yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repo -
安装
Terminal window yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
如果系统提示接受 GPG 密钥,请验证指纹是否匹配,如果是,请接受它。060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
Ubuntu安装docker
-
卸载旧版本
Terminal window sudo apt-get remove docker docker-engine docker.io containerd runc -
更新软件包索引并安装软件包以允许使用 基于 HTTPS 的存储库
Terminal window apt-get updateapt-get install \ca-certificates \curl \gnupg \lsb-release -
添加 Docker 的官方 GPG 密钥
Terminal window mkdir -p /etc/apt/keyringscurl -fsSL https://download.docker.com/linux/ubuntu/gpg sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg -
设置存储库
Terminal window echo \"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \$(lsb_release -cs) stable" sudo tee /etc/apt/sources.list.d/docker.list > /dev/null -
更新包
Terminal window apt-get update运行时收到 GPG 错误?apt-get update 默认掩码可能配置不正确,导致无法检测到 存储库公钥文件。尝试授予 Docker 的读取权限 更新包索引之前的公钥文件
Terminal window sudo chmod a+r /etc/apt/keyrings/docker.gpgsudo apt-get update -
安装 Docker Engine、containerd 和 Docker Compose
Terminal window sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
docker相关命令
#添加开机自启动systemctl enable docker#启动docker服务systemctl start docker#进入指定容器docker exec -it 容器id /bin/bash#启动指定容器docker start 容器id#重启指定容器docker restart 容器id#停止指定容器docker stop 容器id#强制停止指定容器docker kill 容器id#删除指定容器docker rm 容器id#复制文件docker cp 容器名:要复制的文件的容器内路径 要复制到的宿主机路径#查看磁盘占用情况docker system df#删除已停止的容器,因为rm命令无法删除运行在的容器;-q表示只显示IDdocker rm $(docker ps -a -q)#删除悬空镜像,-f表示条件筛选,"dangling=true"表示悬空镜像docker rmi $(docker images -f "dangling=true" -q)
神器:docker system prune
-
该指令默认会清除所有如下资源:
- 已停止的容器(container)
- 未被任何容器所使用的卷(volume)
- 未被任何容器所关联的网络(network)
- 所有悬空镜像(image)
- 清除构建镜像时的缓存(这个可是占用相当大)
-
该指令默认只会清除悬空镜像,未被使用的镜像不会被删除,添加参数
-a
后可一并删除 -
可以添加
-f
参数用以忽略相关告警确认信息。
我使用的docker容器
-
Terminal window docker run -d -v $(pwd)/bilibilirecorder:/rec -p 2356:2356 bililive/recorder -
可录制多个平台直播
Terminal window docker run --name="bililive-go" --restart=always -v /nxsg/bililive-go/video:/srv/bililive -p 8080:8080 -d chigusa/bililive-go -
开源影音媒体服务器
Terminal window docker run -d \--name Jellyfin--restart=always-v $(pwd)/cache : /cache \-v $(pwd)/config : /config \-v $(pwd)/media : /media \-p 8096 : 8096Jellyfin/Jellyfin:latest -
Terminal window docker run -dit \-v $PWD/ql:/ql/data \-p 5700:5700 \--name qinglong \--hostname qinglong \--restart unless-stopped \whyour/qinglong:latest -
Terminal window docker run -d --restart=always -v /etc/alist:/opt/alist/data -p 5244:5244 --name="alist" xhofe/alist:latest
创建容器后修改配置
-
关闭docker,这是前提
systemctl stop docker #centos系统用这个 -
找到docker存放文件的目录
docker info grep 'Root' -
查找需要修改的容器的ID
docker ps -a -
使用
cd
命令,进入容器目录;使用ll
命令或者ls -l
命令列出所有文件 -
使用vim等编辑器修改
config.v2.json
文件和hostconfig.json
文件 -
修改完成后保存,再启动docker即可