Ubuntu 安装Docker 运行Nginx

22 篇文章 0 订阅
5 篇文章 0 订阅

目录

介绍

主要功能和特点

常用组件

安装Docker

卸载旧版本Docker(如果有的话)

更新apt包索引

安装Docker所需的包

 添加Docker官方GPG密钥

设置Docker仓库

安装最新版本Docker

验证Docker是否安装成功

允许当前用户操作Docker(可选,避免每次使用docker都需要sudo)

在Docker中安装Nginx

拉取Nginx镜像

运行Nginx容器

验证Nginx是否正常运行

Docker 设置时区

在运行容器时通过-e指定环境变量

在Dockerfile中设置ENV指令

使用 --env-file 读取环境变量文件

修改容器的环境变量(针对运行中的容器)

Docker常用命令

构建镜像

停止容器

列出正在运行的容器

查看所有端口占用情况(包括非Docker进程)

查看容器日志


介绍

Docker 是一个开源平台,用于自动化应用程序的构建、部署和运行。它通过容器技术将应用及其依赖打包在一个独立的、可移植的单元中,从而简化了跨环境的一致性和可靠性。

主要功能和特点

  1. 容器化:将应用及其所有依赖(如库和配置文件)打包成容器,使得应用可以在任何支持 Docker 的环境中一致运行。

  2. 镜像:容器的运行时实例是从 Docker 镜像创建的,镜像是一个包含应用及其所有依赖的只读模板。

  3. 轻量级:容器共享宿主机的操作系统内核,相比虚拟机,容器启动更快,占用资源更少。

  4. 可移植性:容器能够在不同的开发、测试和生产环境中无缝迁移,确保环境一致性。

  5. 隔离性:容器提供进程和文件系统的隔离,保证不同容器间不会互相影响。

  6. 版本控制:镜像可以版本控制,方便回滚到之前的版本或更新到新的版本。

常用组件

  1. Docker Engine:运行 Docker 容器的核心组件,包括守护进程和客户端接口。
  2. Docker Hub:官方的镜像仓库,用户可以在此下载公共镜像或上传自己的镜像。
  3. Docker Compose:工具,用于定义和运行多容器 Docker 应用,使用 YAML 文件来配置应用的服务、网络和卷。

安装Docker

卸载旧版本Docker(如果有的话)

sudo apt-get remove docker docker-engine docker.io containerd runc

更新apt包索引

sudo apt-get update

安装Docker所需的包

sudo apt-get install ca-certificates curl gnupg lsb-release

 添加Docker官方GPG密钥

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

设置Docker仓库

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

安装最新版本Docker

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

验证Docker是否安装成功

sudo docker run hello-world
或者
sudo docker --version

允许当前用户操作Docker(可选,避免每次使用docker都需要sudo)

sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker

在Docker中安装Nginx

拉取Nginx镜像

docker pull nginx

运行Nginx容器

docker run --name my-nginx -p 80:80 -d nginx
  • -p <主机端口>:<容器端口> 是 Docker 的端口映射选项,用于在主机和容器之间建立端口映射。
  • 在这个命令中,nginx 容器内部的 Web 服务器默认运行在 80 端口。
  • -p 80:80 使得你可以通过主机的 IP 地址和 80 端口访问 Nginx 服务,例如,通过浏览器访问 http://localhost 就会请求到容器内运行的 Nginx 服务。

如果你将端口号更改为其他值,例如 -p 8080:80,那么主机的 8080 端口将映射到容器的 80 端口,这样你需要通过 http://localhost:8080 来访问容器内的 Nginx 服务。

验证Nginx是否正常运行

打开浏览器访问 http://localhost 或服务器IP,如果看到Nginx的默认欢迎页面,则说明运行成功。

Docker 设置时区

在查看docker logs容器日志时,发现日志时间不准确

在运行容器时通过-e指定环境变量

docker run -e TZ=Asia/Shanghai image

​​​​​​​在Dockerfile中设置ENV指令

ENV TZ=Asia/Shanghai

​​​​​​​使用 --env-file 读取环境变量文件

先将环境变量写到一个文件中,例如env.list:

VAR1=value1
VAR2=value2
TZ=Asia/Shanghai

然后在运行容器时使用 --env-file 指定该文件

docker run --env-file env.list image

​​​​​​​修改容器的环境变量(针对运行中的容器)

docker exec -it <容器ID> env | grep <变量名> # 查看当前变量值
docker exec -e <变量名>=<新值> <容器ID> env # 修改变量值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值