在一台新的虚拟机上安装docker、拉取nginx镜像并启动(作者亲测)

1.docker介绍

  • docker是一个软件,是一个容器软件,可以将软件限制在一个容器里,然后可以限制这个容器使用的cpu,内存,磁盘IO,网络IO等资源。

2.docker安装

2.1环境准备

首先需要一台centos7.9的linux系统,给4核8G的内存,100个G的磁盘(以后镜像消耗很多磁盘空间),相当于一台真实的机器,真实机器再用容器(所以内存给8G),用NAT模式

连接Xshell,更改主机名为docker,再配置静态ip(防止ip地址改变xhell断开)

2.2docker安装

docker安装文档CentOS | Docker Docs

但现在只支持centos9的,博主去网上搜了适用centos7.9教程,并解决了安装时出现的一系列问题,命令一个一个按顺序敲就行

1.安装所需的包

[root@docker ~]# sudo yum install -y yum-utils 会出错

原因:需要更换软件源

由于 CentOS 7 官方源已经停止维护,你可以将其替换为国内的镜像源,如阿里云、清华大学等。

sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

以阿里云镜像源为例:

sudo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

2.[root@docker ~]# sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

添加 Docker 官方的阿里云镜像源docker-ce.repo,以便后续使用 yum 来安装 Docker 相关组件

3.[root@docker yum.repos.d]# sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y        安装Docker引擎

4.[root@docker yum.repos.d]# sudo systemctl start docker 启动docker

5.设置docker服务开机启动

[root@docker yum.repos.d]# systemctl enable docker

6.关闭firewalld服务和seliux

[root@docker yum.repos.d]# service firewalld stop

[root@docker yum.repos.d]# systemctl disable firewalld 设置开机不自启

[root@docker ~]# vim /etc/selinux/config

修改一处为SELINUX=disabled,其他不用动

7.重启linux系统

[root@docker ~]# reboot

iptables查看docker 配置的一些规则

机器挂起有时iptables规则链失效,建议不用时关机,或者service docker restart一下

  • docker version 命令用于显示 Docker 客户端和服务器的版本信息。
  • docker images 命令用于列出本地 Docker 主机上的所有镜像。
  • docker ps 命令用于列出正在运行的 Docker 容器。

现在没有运行的容器 

3.安装nginx容器

3.1.拉取镜像
  
 1.下载nginx的镜像,镜像是包括了应用源程序的文件
 [root@docker ~]# docker pull nginx
 一般拉取镜像失败,存在超时问题


 [root@docker ~]# cd /etc/docker
 [root@docker docker]# vim /etc/docker/daemon.json         

 编辑以下内容进去,一般没有daemon.json   ,直接创新的就行

   
 [root@docker docker]# systemctl daemon-reload
 [root@docker docker]# service docker restart
 重新加载配置文件和重启docker
 [root@docker docker]# docker pull nginx        拉取成功
   

查看现有镜像

2.创建并启动nginx容器


 [root@docker docker]# docker run --name nginx-1 -d -p 8080:80 --cpu-shares 100 --cpus 1 --cpuset-cpus 0 -m 100000000  nginx
         
 显示编号则创建成功
 ● docker run:创建并启动新容器。
  ● --name nginx-1:为容器命名,方便管理。
  ● -d:以守护进程模式后台运行。
  ● -p 8080:80:将宿主机 8080 端口映射到容器 80 端口。
  ● --cpu-shares 100:设置 CPU 共享权重,该容器竞争 CPU 资源能力弱。
  ● --cpus 1:限制容器最多用 1 个 CPU 核心。
  ● --cpuset-cpus 0:将容器绑定到宿主机第 0 个 CPU 核心。
  ● -m 100000000:限制容器内存使用上限约 95.37MB。
  ● nginx:使用 nginx 镜像,本地无则从 Docker Hub 拉取。
          
 查看正在运行的docker容器(将宿主机的 8080 端口映射到容器的 80 端口 ,映射范围包括所有 IP 地址

docker网络架构图

用户(user)通过宿主机的 WAN 口(ens33 ,x.x.x.x)的 8080 端口访问。

真实机网页访问宿主机 8080 端口,恭喜你容器运行起来了,外部能访问(改为自己虚拟机的ip地址加8080端口)

4.总结

以上就是参考docker官方文档和网上教程在全新的虚拟机上安装docker并部署nginx的全部过程,接下来作者也会继续更新docker相关内容,有啥错误或不足的地方请指正,创作不易,一键三连。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值