目录

一、Docker的安装步骤

二、Docker安装具体操作步骤

三、Docker部署nginx

 四、脚本分享

 总结


一、Docker的安装步骤

  1.  安装依赖包
  2. 设置镜像的仓库(最好是阿里云,国外的慢)
  3. 更新yum索引
  4. 安装docker-ce(社区版)
  5. 配置镜像加速器
  6. 下载helle-world镜像测试

二、Docker安装具体操作步骤

1、安装依赖包(有的安装需要网络源建议把网络源打开)

yum -y install yum-utils device-mapper-persistent-data lvm2

2、设置阿里镜像仓库,Docker默认是国外,建议改为国内的阿里镜像仓库,提高运行速度

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3、更新yum索引(更新索引就是为了下载最新版本的docker)

yum makecache fast

也可以使用yum update更新一下yum源,看个人喜好啦嘿嘿嘿

4、安装docker-ce社区版

yum -y install docker-ce docker-ce-cli containerd.io

5、安装好以后启动docker 并设置开机自启(不要忘咯)

systemctl start docker
systemctl enable docker

6、接下来我们来配置阿里云镜像加速器

        1、首先镜像加速器是免费的,每个人都有前提是要有阿里云账号(如果没有快去注册支付宝注册账号)

        2、阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台

        上面是登陆网址

登录好账号以后

        

 

 

 这样镜像加速器就配置好啦

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://4u6ad4xd.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

7、启动一个hello-world镜像测试我们的docker是否安装成功

docker run hello-world 

        docker run 这个命令很神奇,如果你没有这个镜像的话,它会自己给你下,也会自动创建容器,相当于一个命令顶替了docker create 和docker pull

 

 既然docker 已经安装完成啦我们来玩一个服务

三、Docker部署nginx

 1、首先先下载镜像

docker  pull nginx 

        如果什么都不加就表示下载最新版本的nginx镜像

        想加的话在后面加上 :和版本号

root@docker03 ~] # docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
a2abf6c4d29d: Downloading [===>                                               ]  2.196MB/31.36MB
a9edb18cadd1: Downloading [=======>                                           ]  3.567MB/25.35MB
589b7251471a: Download complete 
186b1aaa4aa6: Download complete 
b4df32aa5a72: Download complete 

##下载镜像的时候都是一层一层的下载,为什么docker要这样下载一个镜像呢?
这样下载的好处又是啥,这是一个值得思考的问题

 首先docker采用的是联合文件系统,其特性就是一次可以加载多个文件系统但从外面看起来,只能看到一个文件系统,联合加载会把各层文件系统叠加起来,这样最终的文件系统会包含所有底层的文件和目录。

 采用这种下载的方式,最大的好处就是资源共享,假设我们已经下载过一个旧的版本的nginx,要还想下载新版的的nginx只需要下载旧的镜像没有的部分即可,提高了速率,镜像的每一层都可以共享。

 在这里啰嗦的功夫镜像已经下载好啦,让我们把启动一个nignx的容器吧

docker run -d --name nginx01 -p 80:80 nginx

[root@docker03 ~] # docker run -d --name nginx01 -p 80:80 nginx
0c00eb1a41d977ba5db1aff08a38e9b4372165e5968a5fabd2dea1418ae183b2
[root@docker03 ~] # docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS        PORTS                               NAMES
0c00eb1a41d9   nginx     "/docker-entrypoint.…"   3 seconds ago   Up 1 second   0.0.0.0:80->80/tcp, :::80->80/tcp   nginx01
 

 这样nginx容器已经构建好啦

    -d 表示后台运行

   --name 表示给容器起一个名字(自定义就行名字不要太短会报错)

   -p 表示想要暴露的端口(涉及到docker网络以后在讲)

  最后是镜像的名字(如果不是最新版要加版本!!!)

 让我们访问测试一下

小伙伴们一定要关闭防火墙,要不然还是会报错

        

 四、脚本分享

#!/bin/bash
#from:admire<Wsy54188a@163.com>
#添加阿里云镜像仓库
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo &>/dev/null
#更新yum
yum makecache fast &>/dev/null
#安装docker依赖
echo "正在安装依赖"
yum -y install yum-utils device-mapper-persistent-data lvm2 &>/dev/null
#yum安装docker
echo "正在安装docker"
yum -y install docker-ce docker-ce-cli containerd.io &>/dev/null
#启动docker
systemctl start docker
#if语句检测docker是否安装成功
if [ $? -eq 0 ];then

  echo "启动成功"
else
  echo "启动失败"
  exit
fi
docker version &>/dev/null
if [ $? -eq 0 ];then

  echo "检测版本正常"
else
  echo "安装失败"
  exit
fi
#配置阿里云加速
mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://4u6ad4xd.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

 总结

这就是我自己对docker的理解,后续还会有关于我自己对docker的理解,与大家一起分享,一起走啦,追梦人

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐