Docker安装-Nginx

Docker:


1. docker安装

  • 卸载旧版本
$ sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
  • 安装 Docker Engine-Community
  • 使用 Docker 仓库进行安装
    在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。从仓库安装和更新 Docker。
  • 设置仓库
    安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。
$ sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2
  • 设置yum源-阿里云
$ sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

  • error: 这里我设置的yum源有报错:Error: Failed to download metadata for repo 'AppStream'
# cd /etc/yum.repos.d/
# cp CentOS-Base.repo /home/
# rm CentOS*   --谨慎操作,这里只保留CentOS-Base.repo文件。
# 下载新的 CentOS-Base.repo 到 /etc/yum.repos.d/
# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
# yum clean all && yum makecache  --清理缓存&&生成缓存
  • yum源不删除的解决方法,这位博主说的好:我们要养成修改内容时使用注释而不是删除的操作方法,用来对比前后差异,出问题了取消掉注释就可以了。
    https://www.cnblogs.com/bpzblog/p/13918199.html
  • 将更新后的CentOS-Base.repo文件中的[AppStream]模块更新至CentOS-AppStream.repo文件中。

  • 安装 Docker Engine-Community
    安装最新版本的 Docker Engine-Community 和 containerd
$ sudo yum install docker-ce docker-ce-cli containerd.io

  • error: centos8 podman 冲突问题

在这里插入图片描述

# rpm -qa podman  --查看podman版本
# dnf remove podman  --卸载
# yum install docker-ce docker-ce-cli containerd.io

在这里插入图片描述在这里插入图片描述


  • 启动docker
$ sudo systemctl start docker

2. docker安装nginx

# docker search nginx  --查看可用版本
# docker pull nginx:latest  --拉取最新版本镜像
# docker images  -- 查看本地镜像
# docker run --name nginx-s1 -p 8080:80 -d nginx  --启动nginx容器
# --name 指定容器名称
# -p     端口映射,将本地 8080 端口映射到容器内部的 80 端口
# -d     后台运行容器,并返回容器ID

3. nginx容器.conf文件配置

# docker exec -it nginx-s1 bash  --进入docker容器,后更/bin/bash 
# -i   以交互模式运行容器,通常与 -t 同时使用;
# -t   为容器重新分配一个伪输入终端,通常与 -i 同时使用;
# exit --退出
# docker ps -a --查看运行的容器
# docker stop nginx-s1  --停止nginx容器
# docker rm nginx-s1  --删除nginx容器
# 提前准备一个经过配置的nginx.conf文件 /data/nginx.conf
# docker run --name nginx-s2 -p 8080:8081 -v /data/nginx.conf:/etc/nginx/nginx.conf -d nginx 

docker exec 是需要容器处于运行中且PID 1进程也处于运行中才能执行的操作。命令执行后会进入容器的默认工作目录,如果在Dockerfile中指定了工作目录,则会进入Dokcerfile指定的目录,如果命令中指定了工作目录-w则会进入该目录。

docker -v 挂载宿主机的一个目录。
dockers run -v /容器外部文件夹路径/:/容器内部文件夹路径/ -v /容器外部文件夹路径/:/容器内部文件夹路径 / … …
设置容器内文件权限:
:ro --只读,只能通过宿主机来操作文件,容器内部无法操作!
:rw --可读可写, 默认
例如:
#docker run -it -v /home/test:/home:ro centos /bin/bash
(冒号前/开始,一般为指定宿主机路径,所以为指定路径挂载)
docker inspect 容器id --查看容器挂载情况
Source为外部挂载的文件夹,Destination为容器内部被挂载的文件夹.

  • 访问nginx
    在这里插入图片描述在这里插入图片描述
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

twenty-six

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值