在Docker中安装软件(拉取镜像)
以Nginx为例
- 方式一:
- 方式二:使用命令行
sudo docker pull nginx
在Docker中部署前端项目
前言:本人实现的是本地挂载。环境是前端在docker的nginx中运行。后端在本地运行
具体实现步骤为
1.现在本地(宿主机)创建文件夹,并在文件夹中创建三个文件夹,如下:
2.在conf
中创建default.conf
文件,重点如下:
简易配置
。。。。。。。。。。。。
server {
listen 90;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html;
try_files $uri $uri/ /index.html;
}
location ^~ /api/ {
rewrite ^/api/(.*)$ /$1 break;
proxy_pass http://host.docker.internal:8080; # 如果后端在本机,请务必用 host.docker.internal
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
}
。。。。。。。。。。。。
如果后端在本机,请务必用 host.docker.internal
如果后端在本机,请务必用 host.docker.internal
如果后端在本机,请务必用 host.docker.internal
3.在根目录中创建docker-compose.yml
文件
version: '3.8' # 如果是新版的nginx,这样可以不写。写了后期会报WARN
services:
nginx:
image: nginx # 使用Nginx镜像
container_name: nginx-tlias # 给容器创建名字
ports:
- "90:90" # 配置端口号
volumes:
- ./html:/usr/share/nginx/html # 前端静态文件目录
- ./conf:/etc/nginx/conf.d # nginx 配置文件目录
- ./logs:/var/log/nginx # 日志目录
restart: unless-stopped #意外退出时会自动重启,但你手动 stop 后不会自动启动
4.在跟目录下打开终端输入:
docker compose up -d
这行代码会自动拉取最新的Nginx镜像,并创建容器完成挂载并启动。
我们也可以在yml文件中,image: nginx:1.2.5 指定镜像版本
这时我们打开浏览器输入localhost:90就可以访问到我们部署的前端内容了
在Docker中部署Redis
1.现在本地(宿主机)创建文件夹,并在文件夹中创建三个文件,如下:
2.redis.conf
# 开启 AOF 持久化
appendonly yes
# 设置持久化文件名
appendfilename "appendonly.aof"
# 日志级别
loglevel notice
# 数据文件存放位置
dir /data
# 设置连接密码
requirepass 123456
3.docker-compose.yml
version: "3.8"
services:
redis:
image: redis:7.2
container_name: redis-sky
ports:
- "6379:6379"
volumes:
- ./data:/data
- ./redis.conf:/usr/local/etc/redis/redis.conf
command: ["redis-server", "/usr/local/etc/redis/redis.conf"]
restart: unless-stopped
4.在跟目录下打开终端输入:
docker compose up -d