首页 > 系统相关 >Ubuntu 安装Docker 运行Nginx

Ubuntu 安装Docker 运行Nginx

时间:2024-09-06 10:54:59浏览次数:12  
标签:容器 sudo apt Nginx Ubuntu Docker docker

目录

介绍

主要功能和特点

常用组件

安装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 # 修改变量值

Docker常用命令

​​​​​​​构建镜像

docker build -t my-image

停止容器

docker stop <container_id>

列出正在运行的容器

docker ps

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

sudo lsof -i -P -n | grep LISTEN

查看容器日志

docker logs my-nginx

标签:容器,sudo,apt,Nginx,Ubuntu,Docker,docker
From: https://blog.csdn.net/jhgj56/article/details/141951320

相关文章

  • Docker 安装mysql
    1、从docker hub上拉取镜像到本地#dockerpullmysql:5.62.如果是不加版本直接拉取的话,默认的是最新版本 #dockerpullmysql:latest默认拉取最新的版本3.启动:#dockerrun--namemysql-p3306:3306-eMYSQL_ROOT_PASSWORD="设置你的mysql的密码"-dmysql:5.6......
  • 【达梦】Docker安装达梦数据库 dm8
    1.docker启动达梦8镜像命令dockerrun-p5236:5236--namedmdb\-eLD_LIBRARY_PATH=/opt/dmdbms/bin\-ePAGE_SIZE=32\-eEXTENT_SIZE=32\-eLOG_SIZE=2048\-eUNICODE_FLAG=1\-eLENGTH_IN_CHAR=1\-eBLANK_PAD_MODE=1\-v/home/docker/dmdbms/data::/opt......
  • Docker 常用命令
    介绍下Docker常用命令‍帮助启动类命令启动docker:systemctlstartdocker​停止docker:systemctlstopdocker​重启docker:systemctlrestartdocker​查看docker状态:systemctlstatusdocker​开机自启:systemctlenabledocker​查看docker概要信息:dockeri......
  • Docker - 在Rockly Linux 9.4 上安装Docker-CE
    安装Docker-CE修改repo源修改为国内阿里源以提高安装速度sed-e's|^mirrorlist=|#mirrorlist=|g'\-e's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=https://mirrors.aliyun.com/rockylinux|g'\-i.bak\/etc/yum.repos.d/rocky*.repo......
  • docker部署mysql8主从
     一、拉取mysql镜像dockerpullmysql 二、创建容器#主库dockerrun-itd-p3306:3306-eMYSQL_ROOT_PASSWORD=123456--namemysql-mastermysql#从库dockerrun-itd-p3307:3306-eMYSQL_ROOT_PASSWORD=123456--namemysql-slavemysql 三、配置主库[m......
  • BEVFormer复现(使用docker搭建训练环境)
    文章目录一、使用docker创建环境1.1创建容器1.2在容器中安装常用的包1.3安装miniconda1.4安装Pytorch二、环境配置2.1下载源码2.2安装mmcv-full2.3安装mmdet和mmseg2.4从源码安装mmdet3d2.5安装Detectron2和Timm2.6下载预训练模型三、数据准备3.1下载数据集......
  • Docker常用命令
    Docker常用命令1.docker部署Mysql命令解读dockerrun-d\--namemysql\-p3306:3306\-eTZ=Asia/Shanghai\-eMYSQL_ROOT_PASSWORD=123\mysqldockerrun;创建并且运行一个容器,-d让容器在后台运行–namemysql意思是给容器取名字,唯一的-p3306:3......
  • 深入解析 Docker exec 命令
      目录Dockerexec命令详解常用选项示例注意 Docker容器允许你在隔离的环境中运行应用程序,这样可以确保应用运行所需的环境是一致的,无论是在开发、测试还是生产环境中。当需要在Docker容器中执行命令时,通常会用到dockerexec命令。下面是对dockerexec命令......
  • 光影精灵10 Win1+Ubuntu18.04 双系统 踩坑记录
    前言第二年准备报名智能车了,当然还是创意组别。刚好买了今年新出的电脑光影精灵10,我想着也给它安一个双系统。但是没想到,相比于之前那个老电脑,新电脑的新硬件和驱动问题远比老电脑麻烦的多。在经历了一系列踩坑和疯狂查资料之后,加上重装系统N次,终于成功下车。遂把过程记录下来,以......
  • docker命令
    Docker基础命令查看docker运行状态systemctlstatusdocker关闭dockersystemctlstopdocker启动dockersystemctlstartdocker重启dockersystemctlrestartdockerdocker设置随服务启动而自启动systemctlenabledocker查看docker版本号信息dockerversiondo......