当前位置:   article > 正文

ubuntu 使用 docker-compose安装LNMPR_docker-compose 部署ubuntu 镜像 并在启动后安装工具

docker-compose 部署ubuntu 镜像 并在启动后安装工具

安装docker

官网搬运:在 Ubuntu 上安装 Docker 引擎 |码头工人文档

 一、设置存储库 

        1. 更新软件包索引并安装软件包以允许使用 基于 HTTPS 的存储库

  1. sudo apt-get update
  2. sudo apt-get install ca-certificates curl gnupg

        2. 添加 Docker 的官方 GPG 密钥

  1. sudo install -m 0755 -d /etc/apt/keyrings
  2. curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
  3. sudo chmod a+r /etc/apt/keyrings/docker.gpg

        3. 使用以下命令设置存储库

  1. echo \
  2. "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  3. "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  4. sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

        二、安装 Docker 引擎

        1. 更新包索引

sudo apt-get update

        2. 安装 Docker Engine、containerd 和 Docker Compose

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

        3. 通过运行映像验证 Docker 引擎安装是否成功

sudo docker run hello-world

        出现以下代表docker安装成功

安装docker-compose

        1. 更新及安装

  1. sudo apt-get update
  2. sudo apt-get install docker-compose-plugin

        2. 检验是否安装成功

docker compose version

        出现版本号代表成功

        3. 设置Docker Group,为了能在非sudo模式下使用Docker, 需要将当前用户加入Docker Group.

sudo usermod -aG docker $USER

设置Docker镜像加速

  1. sudo mkdir -p /etc/docker
  2. sudo tee /etc/docker/daemon.json <<-'EOF'
  3. {
  4. "registry-mirrors": ["https://XXXXXXXX.mirror.aliyuncs.com"]
  5. }
  6. EOF
  7. sudo systemctl daemon-reload
  8. sudo systemctl restart docker

        上方XXXX,去阿里云搜索:镜像容器服务,再点击左边菜单:镜像工具 -> 镜像加速器查看

docker compose 部署

        1. 准备好docker-compose.yaml

  1. version: "3.7"
  2. services:
  3. nginx:
  4. container_name: "lnmp_nginx"
  5. image: nginx:1.24
  6. restart: always
  7. ports:
  8. - "80:80"
  9. - "443:443"
  10. #depends_on:
  11. # - "php"
  12. volumes:
  13. - /docker-lnmp/nginx/conf.d:/etc/nginx/conf.d
  14. - /docker-lnmp/nginx/log:/var/log/nginx
  15. - /www:/usr/share/nginx/html
  16. environment:
  17. - TZ=Asia/Shanghai
  18. - MYSQL_ROOT_PASSWORD=123456
  19. mysql:
  20. container_name: "lnmp_mysql"
  21. image: mysql:5.7
  22. ports:
  23. - "3306:3306"
  24. volumes:
  25. - /docker-lnmp/mysql/data:/var/lib/mysql
  26. - /docker-lnmp/mysql/conf.d:/etc/mysql/conf.d
  27. - /docker-lnmp/mysql/log:/var/log/mysql
  28. restart: always
  29. environment:
  30. - TZ=Asia/Shanghai
  31. - MYSQL_ROOT_PASSWORD=123456
  32. php:
  33. build:
  34. context: ./php
  35. container_name: "lnmp_php"
  36. #image: php:7.4-fpm
  37. ports:
  38. - "9000:9000"
  39. volumes:
  40. - /www:/var/www/html
  41. - /docker-lnmp/php/phpfile:/usr/local/etc/php
  42. - /docker-lnmp/php/phpfile/conf.d:/usr/local/etc/php/conf.d
  43. - /docker-lnmp/php/log:/var/log/php
  44. restart: always
  45. #stdin_open: true
  46. #tty: true
  47. environment:
  48. - TZ=Asia/Shanghai
  49. redis:
  50. container_name: "lnmp_redis"
  51. image: redis:5
  52. ports:
  53. - "6379:6379"
  54. volumes:
  55. #- D:\docker-lnmp\redis\conf:/usr/local/etc/redis
  56. - /docker-lnmp/redis/data:/data
  57. #- D:\docker-lnmp\redis\log:/var/log/redis
  58. restart: always
  59. #command:
  60. #redis-server /usr/local/etc/redis/redis.conf --requirepass 123456
  61. environment:
  62. - TZ=Asia/Shanghai

        2. 到指定路径,执行下面命令

docker compose up -d

        

遇到错误:

  1. Err:1 http://deb.debian.org/debian bullseye InRelease Could not connect to deb.debian.org:80 (151.101.110.132), connection timed out
  2. Err:2 http://deb.debian.org/debian-security bullseye-security InRelease Unable to connect to deb.debian.org:80:

        方法一 :编辑/etc/apt/sources.list文件(需要使用sudo), 在文件最前面添加以下条目(操作前请做好相应备份)

  1. # deb http://snapshot.debian.org/archive/debian/20211220T000000Z bullseye main
  2. deb http://deb.debian.org/debian bullseye main
  3. # deb http://snapshot.debian.org/archive/debian-security/20211220T000000Z bullseye-security main
  4. deb http://security.debian.org/debian-security bullseye-security main
  5. # deb http://snapshot.debian.org/archive/debian/20211220T000000Z bullseye-updates main
  6. deb http://deb.debian.org/debian bullseye-updates main

        方法二:参考 https://developer.aliyun.com/mirror/debian 修改尝试

        方法三:在build 安装扩展前执行

  1. RUN mv /etc/apt/sources.list /etc/apt/sources.list.bak && \
  2. echo "deb https://mirrors.aliyun.com/debian/ bullseye main non-free contrib" >/etc/apt/sources.list && \
  3. echo "deb-src https://mirrors.aliyun.com/debian/ bullseye main non-free contrib" >/etc/apt/sources.list && \
  4. echo "deb https://mirrors.aliyun.com/debian-security/ bullseye-security main" >/etc/apt/sources.list && \
  5. echo "deb-src https://mirrors.aliyun.com/debian-security/ bullseye-security main" >/etc/apt/sources.list && \
  6. echo "deb https://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib" >/etc/apt/sources.list && \
  7. echo "deb-src https://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib" >/etc/apt/sources.list && \
  8. echo "deb https://mirrors.aliyun.com/debian/ bullseye-backports main non-free contrib" >/etc/apt/sources.list && \
  9. echo "deb-src https://mirrors.aliyun.com/debian/ bullseye-backports main non-free contrib" >/etc/apt/sources.list

远程输入IP时,发现404错误;把/etc/nginx/conf.d/default.conf修改成下面;服务器和容器访问问题

  1. server {
  2. listen 80;
  3. listen [::]:80;
  4. server_name localhost;
  5. location / {
  6. root /usr/share/nginx/html;
  7. index index.html index.htm index.php ;
  8. }
  9. error_page 500 502 503 504 /50x.html;
  10. location = /50x.html {
  11. root /www;
  12. }
  13. }

使用windows安装docker时可能遇到问题

1. windows上docker的IP特别慢;

        开启opcache | 修改cifs内核模块 | 不使用挂载,直接文件同步到docker


2. 能访问HTML,访问不了PHP,主要是ngxin里的server【$document_root】解析失败

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/在线问答5/article/detail/829139
推荐阅读
相关标签
  

闽ICP备14008679号