找回密码
 立即注册
首页 业界区 业界 麒麟系统离线安装docker和docker-compose

麒麟系统离线安装docker和docker-compose

后雪闵 2025-11-27 22:35:02
最近需要在麒麟系统安装emqx,由于emqx没有麒麟系统的安装包且源码编译依赖版本较难管理,因此采用docker容器化部署,现在回忆总结一下docker和docker-compose的离线安装步骤。
这里是麒麟系统docker离线部署教程回忆版:https://www.cnblogs.com/scales123/p/19279440
1 准备工作

我安装的操作系统是麒麟V4及V10,aarch64架构
1.1 查看操作系统
  1. // 查看系统版本
  2. uname -a
  3. // 查看系统架构
  4. uname -m
复制代码
1.2 下载安装包

我使用的docker版本是:docker-20.10.7.tgz,docker-compose版本是v2.17.2,我整理的下载资源:通过网盘分享的文件:docker_20.10.17安装包.rar
链接: https://pan.baidu.com/s/1LbFJDHMTcpblSUAiMpfteQ?pwd=1234 提取码: 1234
选择aarch64架构
1.png

选择对应的版本
docker:https://download.docker.com/linux/static/stable/aarch64/
2.png

dcoker-compose: https://github.com/docker/compose/releases
找到docker的对应版本,在Assets里选择相应架构的安装包
3.png

1.3 准备docker.service文件
  1. docker.service
  2.   
  3. [Unit]
  4. Description=Docker Application Container Engine
  5. Documentation=https://docs.docker.com
  6. After=network-online.target firewalld.service
  7. Wants=network-online.target
  8. [Service]
  9. Type=notify
  10. # the default is not to use systemd for cgroups because the delegate issues still
  11. # exists and systemd currently does not support the cgroup feature set required
  12. # for containers run by docker
  13. ExecStart=/usr/bin/dockerd
  14. ExecReload=/bin/kill -s HUP $MAINPID
  15. # Having non-zero Limit*s causes performance problems due to accounting overhead
  16. # in the kernel. We recommend using cgroups to do container-local accounting.
  17. LimitNOFILE=infinity
  18. LimitNPROC=infinity
  19. LimitCORE=infinity
  20. # Uncomment TasksMax if your systemd version supports it.
  21. # Only systemd 226 and above support this version.
  22. #TasksMax=infinity
  23. TimeoutStartSec=0
  24. # set delegate yes so that systemd does not reset the cgroups of docker containers
  25. Delegate=yes
  26. # kill only the docker process, not all processes in the cgroup
  27. KillMode=process
  28. # restart the docker process if it exits prematurely
  29. Restart=on-failure
  30. StartLimitBurst=3
  31. StartLimitInterval=60s
  32. [Install]
  33. WantedBy=multi-user.target
复制代码
3 安装docker和docker-compose

以下命令逐步执行
  1. // 将安装包存放到/opt/docker
  2. scp -r 本地存放目录 用户名@remote_host:/opt/docker
  3. // 进入安装文件存放目录
  4. cd /opt/docker
  5. // 解压 docker 到当前目录
  6. tar -xvf docker-20.10.7.tgz
  7. // 将 docker 文件移动到 /usr/bin 目录下
  8. cp -p docker/* /usr/bin
  9. // 将 docker-compose 文件复制到 /usr/local/bin/ 目录下,并重命名为 docker-compose
  10. cp docker-compose-linux-aarch64 /usr/local/bin/docker-compose
  11. // 设置 docker-compose 文件权限
  12. chmod +x /usr/local/bin/docker-compose
  13. // 将 docker.service 移到 /etc/systemd/system/ 目录
  14. cp docker.service /etc/systemd/system/
  15. // 设置 docker.service 文件权限
  16. chmod +x /etc/systemd/system/docker.service
  17. // 重新加载配置文件
  18. systemctl daemon-reload
  19. // 启动docker
  20. systemctl start docker
  21. // 设置 docker 开机自启
  22. systemctl enable docker.service
  23. // 验证docker是否安装成功
  24. docker -v
  25. // 验证docker-compose是否安装成功
  26. docker-compose -v
复制代码
4 docker常用命令

4.1 镜像相关命令

创建容器的基础。
命令说明docker images列出本地所有镜像docker search 从 Docker Hub 搜索镜像docker pull [:标签]下载镜像(不指定标签则默认为 latest)docker rmi 删除一个本地镜像docker rmi $(docker images -q)删除所有本地镜像docker image prune删除所有未被使用的镜像(悬空镜像)docker build -t [:标签] .根据当前目录的 Dockerfile 构建镜像docker history 查看镜像的构建历史层docker tag  给镜像打一个新的标签示例:
  1. docker pull nginx:alpine
  2. docker images
  3. docker rmi 5dbe117b5cf4
  4. docker build -t my-app:v1 .
复制代码
4.2 容器生命周期管理

用于创建、启动、停止、删除容器。
命令说明docker run [选项] 创建并启动一个新容器docker create 只创建容器,但不启动docker start 启动一个已存在的容器docker stop 优雅地停止一个运行中的容器docker restart 重启容器docker kill 强制立即停止一个容器docker pause 暂停容器内的所有进程docker unpause 恢复容器内被暂停的进程docker rm 删除一个已停止的容器docker rm $(docker ps -aq)删除所有已停止的容器docker container prune删除所有已停止的容器docker run 常用选项:

  • -d:后台运行(守护进程)
  • -it:交互模式运行(通常与 /bin/bash 结合)
  • --name:为容器指定一个名称
  • -p ::映射端口
  • -v ::挂载数据卷
  • --rm:容器退出时自动删除(用于测试)
  • -e:设置环境变量
示例:
  1. # 后台运行一个名为 my-nginx 的容器,并映射端口
  2. docker run -d --name my-nginx -p 80:80 nginx
  3. # 交互式运行一个 Ubuntu 容器,并进入其终端
  4. docker run -it ubuntu /bin/bash
  5. # 运行一个一次性容器,退出后自动删除
  6. docker run --rm -it alpine /bin/sh
复制代码
4.3 容器信息查看与操作

用于查看和与正在运行的容器交互。
命令说明docker ps列出正在运行的容器docker ps -a列出所有容器(包括已停止的)docker logs 查看容器的日志输出docker logs -f 实时跟踪(Follow)容器日志docker exec -it  在正在运行的容器中执行命令docker attach 连接到正在运行的容器的主进程(不推荐,容易导致容器停止)docker top 查看容器内运行的进程docker inspect 查看容器的底层详细信息(JSON格式)docker stats动态显示所有容器的资源使用情况(CPU、内存等)docker diff 检查容器文件系统相对于镜像的更改示例:
  1. docker ps -a
  2. docker logs -f my-nginx
  3. docker exec -it my-nginx /bin/bash  # 进入容器的 Shell
  4. docker inspect my-nginx | grep IPAddress  # 查看容器的 IP 地址
复制代码
4.4 数据卷与网络管理

用于管理容器的持久化数据和网络连接。
命令说明docker volume ls列出所有数据卷docker volume create 创建一个数据卷docker volume inspect 查看数据卷的详细信息docker volume rm 删除一个数据卷docker volume prune删除所有未被使用的数据卷docker network ls列出所有网络docker network create 创建一个自定义网络docker network connect  将容器连接到指定网络docker network inspect 查看网络的详细信息示例:
  1. # 创建一个数据卷,并运行一个使用该卷的容器
  2. docker volume create my-data
  3. docker run -v my-data:/data --name data-container alpine
  4. # 创建一个自定义的桥接网络,让容器间可以通过容器名通信
  5. docker network create my-app-network
  6. docker run -d --name mysql --network my-app-network mysql
  7. docker run -d --name webapp --network my-app-network my-web-app
复制代码
4.5 Docker Compose 常用命令

用于管理和运行多容器应用。
命令说明docker-compose up创建并启动所有服务(在前台运行)docker-compose up -d创建并启动所有服务(在后台运行)docker-compose down停止并删除所有容器、网络docker-compose stop停止所有服务,但不删除容器docker-compose start启动已存在的服务docker-compose restart重启所有服务docker-compose ps列出 Compose 文件定义的所有容器docker-compose logs查看所有服务的日志docker-compose logs -f 实时跟踪特定服务的日志docker-compose exec  在指定的服务容器中执行命令docker-compose build构建或重新构建服务镜像docker-compose pull下载服务镜像5 参考

https://blog.csdn.net/qq_23845083/article/details/130768859

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册