赞
踩
安装docker
官网搬运:在 Ubuntu 上安装 Docker 引擎 |码头工人文档
一、设置存储库
1. 更新软件包索引并安装软件包以允许使用 基于 HTTPS 的存储库
- sudo apt-get update
- sudo apt-get install ca-certificates curl gnupg
2. 添加 Docker 的官方 GPG 密钥
- sudo install -m 0755 -d /etc/apt/keyrings
- curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
- sudo chmod a+r /etc/apt/keyrings/docker.gpg
3. 使用以下命令设置存储库
- echo \
- "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
- "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
- 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. 更新及安装
- sudo apt-get update
- sudo apt-get install docker-compose-plugin
2. 检验是否安装成功
docker compose version
出现版本号代表成功
3. 设置Docker Group,为了能在非sudo模式下使用Docker, 需要将当前用户加入Docker Group.
sudo usermod -aG docker $USER
设置Docker镜像加速
- sudo mkdir -p /etc/docker
- sudo tee /etc/docker/daemon.json <<-'EOF'
- {
- "registry-mirrors": ["https://XXXXXXXX.mirror.aliyuncs.com"]
- }
- EOF
- sudo systemctl daemon-reload
- sudo systemctl restart docker
上方XXXX,去阿里云搜索:镜像容器服务,再点击左边菜单:镜像工具 -> 镜像加速器查看
docker compose 部署
1. 准备好docker-compose.yaml
- version: "3.7"
-
- services:
- nginx:
- container_name: "lnmp_nginx"
- image: nginx:1.24
- restart: always
- ports:
- - "80:80"
- - "443:443"
- #depends_on:
- # - "php"
- volumes:
- - /docker-lnmp/nginx/conf.d:/etc/nginx/conf.d
- - /docker-lnmp/nginx/log:/var/log/nginx
- - /www:/usr/share/nginx/html
- environment:
- - TZ=Asia/Shanghai
- - MYSQL_ROOT_PASSWORD=123456
- mysql:
- container_name: "lnmp_mysql"
- image: mysql:5.7
- ports:
- - "3306:3306"
- volumes:
- - /docker-lnmp/mysql/data:/var/lib/mysql
- - /docker-lnmp/mysql/conf.d:/etc/mysql/conf.d
- - /docker-lnmp/mysql/log:/var/log/mysql
- restart: always
- environment:
- - TZ=Asia/Shanghai
- - MYSQL_ROOT_PASSWORD=123456
- php:
- build:
- context: ./php
- container_name: "lnmp_php"
- #image: php:7.4-fpm
- ports:
- - "9000:9000"
- volumes:
- - /www:/var/www/html
- - /docker-lnmp/php/phpfile:/usr/local/etc/php
- - /docker-lnmp/php/phpfile/conf.d:/usr/local/etc/php/conf.d
- - /docker-lnmp/php/log:/var/log/php
- restart: always
- #stdin_open: true
- #tty: true
- environment:
- - TZ=Asia/Shanghai
- redis:
- container_name: "lnmp_redis"
- image: redis:5
- ports:
- - "6379:6379"
- volumes:
- #- D:\docker-lnmp\redis\conf:/usr/local/etc/redis
- - /docker-lnmp/redis/data:/data
- #- D:\docker-lnmp\redis\log:/var/log/redis
- restart: always
- #command:
- #redis-server /usr/local/etc/redis/redis.conf --requirepass 123456
- environment:
- - TZ=Asia/Shanghai
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
2. 到指定路径,执行下面命令
docker compose up -d
遇到错误:
- Err:1 http://deb.debian.org/debian bullseye InRelease Could not connect to deb.debian.org:80 (151.101.110.132), connection timed out
- Err:2 http://deb.debian.org/debian-security bullseye-security InRelease Unable to connect to deb.debian.org:80:
方法一 :编辑/etc/apt/sources.list文件(需要使用sudo), 在文件最前面添加以下条目(操作前请做好相应备份)
- # deb http://snapshot.debian.org/archive/debian/20211220T000000Z bullseye main
- deb http://deb.debian.org/debian bullseye main
- # deb http://snapshot.debian.org/archive/debian-security/20211220T000000Z bullseye-security main
- deb http://security.debian.org/debian-security bullseye-security main
- # deb http://snapshot.debian.org/archive/debian/20211220T000000Z bullseye-updates main
- deb http://deb.debian.org/debian bullseye-updates main
方法二:参考 https://developer.aliyun.com/mirror/debian 修改尝试
方法三:在build 安装扩展前执行
-
- RUN mv /etc/apt/sources.list /etc/apt/sources.list.bak && \
- echo "deb https://mirrors.aliyun.com/debian/ bullseye main non-free contrib" >/etc/apt/sources.list && \
- echo "deb-src https://mirrors.aliyun.com/debian/ bullseye main non-free contrib" >/etc/apt/sources.list && \
- echo "deb https://mirrors.aliyun.com/debian-security/ bullseye-security main" >/etc/apt/sources.list && \
- echo "deb-src https://mirrors.aliyun.com/debian-security/ bullseye-security main" >/etc/apt/sources.list && \
- echo "deb https://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib" >/etc/apt/sources.list && \
- echo "deb-src https://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib" >/etc/apt/sources.list && \
- echo "deb https://mirrors.aliyun.com/debian/ bullseye-backports main non-free contrib" >/etc/apt/sources.list && \
- 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修改成下面;服务器和容器访问问题
server { listen 80; listen [::]:80; server_name localhost; location / { root /usr/share/nginx/html; index index.html index.htm index.php ; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /www; } }
使用windows安装docker时可能遇到问题
1. windows上docker的IP特别慢;
开启opcache | 修改cifs内核模块 | 不使用挂载,直接文件同步到docker
2. 能访问HTML,访问不了PHP,主要是ngxin里的server【$document_root】解析失败
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。