Docker从入门到实践,含CentOS7.6下的Docker安装

1. 基本概念、用途、核心思想

为什么需要Docker?
环境配置的难题;
虚拟机;
Docker的基础———Linux容器;

Docker是什么?
Docker是一个用来装程序及其环境的容器,属于Linux容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的Linux容器解决方案。
在这里插入图片描述

Docker的用途
提供统一的环境;
提供快速拓展、弹性伸缩的云服务;
防止其他用户的进程把服务器资源占用过多;

Docker的特点

标准化:

  • 运输方式(把程序和环境从一个机器运到另一个机器的)
  • 存储方式(程序和环境的存储)
  • API接口(不需要Tomcat等应用的命令了,都标准化了)

灵活:即使是最复杂的应用也可以集装箱化
轻量级:容器利用并共享主机内核
便携式:可以在本地构建,部署到云,并在任何地方运行

Docker带来的好处
开发团队得到的好处
在这里插入图片描述
在这里插入图片描述

2. Docker的组成、架构、重要概念

在这里插入图片描述
在这里插入图片描述
image镜像:
存储:联合文件系统,UnionFS

在这里插入图片描述
在这里插入图片描述
容器
如果镜像类似于Java中的类,那么容器就是类似于实例。
容器的这一层是可以修改的,而镜像是不可以修改的。
同一个镜像可以生成多个容器独立运行,而他们之间没有任何的干扰。

仓库
hub.docker.com
备选
https://c.163yun.com/hub#/m/home/

client和deamon
client提供给用户一个终端,用户输入 Docker 提供的命令来
管理本地或远程的服务器。
deamon:服务端守护进程,接收 Client 发送的命令并执行
相应的操作。

3. Docker的安装

在Cent OS安装docker

  1. 先有一个Cent OS 7.6系统
    这个很重要,不同版本按照的时候是不一样的。
    查看CentOS版本 cat /etc/redhat-release

  2. 用root账户登录进去

  3. 配置国内yum源
    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    在这里插入图片描述
    yum clean all
    在这里插入图片描述yum makecache
    在这里插入图片描述

  4. 卸载旧版本
    较旧的Docker版本称为docker或docker-engine。如果已安装这些程序,请卸载它们以及相关的依赖项。
    yum remove docker \
                              docker-client \
                              docker-client-latest \
                              docker-common \
                              docker-latest \
                              docker-latest-logrotate \
                              docker-logrotate \
                              docker-engine
    如果yum报告未安装这些软件包,也没问题。在这里插入图片描述

  5. 更新yum
    yum check-update
    在这里插入图片描述
    yum update
    在这里插入图片描述

  6. 安装所需的软件包
    yum install -y yum-utils
    device-mapper-persistent-data
    lvm2
    在这里插入图片描述

  7. 使用以下命令来设置稳定的存储库。
    sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    在这里插入图片描述

  8. 查看docker版本
    yum list docker-ce --showduplicates | sort -r
    在这里插入图片描述

  9. 安装指定的版本
    yum install docker-ce-18.09.0 docker-ce-cli-18.09.0 containerd.io
    在这里插入图片描述

  10. Docker 是服务器----客户端架构。命令行运行docker命令的时候,需要本机有 Docker 服务。用下面的命令启动
    systemctl start docker
    在这里插入图片描述

  11. 安装完成后,运行下面的命令,验证是否安装成功。
    docker version
    在这里插入图片描述
    或者
    docker info
    在这里插入图片描述

4. 第一个Docker容器

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

5. 运行Nginx镜像,并访问到Docker容器内部

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

Docker的网络模式

Bridge
Host
None
端口映射

实操 :访问Docker内的Nginx

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
通过宿主机网络中转brige网络模式成功访问到容器内部的nginx的web服务器。
在这里插入图片描述
执行命令后停止这个容器,再次访问时,确实失效无法访问:
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

6. 制作自己的Docker容器,dockerfile实战

FROM alpine:latest
MAINTAINER liulei
CMD echo 'hello my dockerfile,liulei'

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

[root@VM-4-12-centos mydockerfile]# ls
[root@VM-4-12-centos mydockerfile]# touch Dockerfile
[root@VM-4-12-centos mydockerfile]# ls
Dockerfile
[root@VM-4-12-centos mydockerfile]# vim Dockerfile
[root@VM-4-12-centos mydockerfile]# cat Dockerfile
FROM alpine:latest
MAINTAINER liulei
CMD echo 'hello my dockerfile,liulei'
[root@VM-4-12-centos mydockerfile]# docker build -t my_docker .
Sending build context to Docker daemon  2.048kB
Step 1/3 : FROM alpine:latest
latest: Pulling from library/alpine
2408cc74d12b: Pull complete 
Digest: sha256:686d8c9dfa6f3ccfc8230bc3178d23f84eeaf7e457f36f271ab1acc53015037c
Status: Downloaded newer image for alpine:latest
 ---> e66264b98777
Step 2/3 : MAINTAINER liulei
 ---> Running in 35b1e39236f0
Removing intermediate container 35b1e39236f0
 ---> b06470872de4
Step 3/3 : CMD echo 'hello my dockerfile,liulei'
 ---> Running in 9f6640aaebf6
Removing intermediate container 9f6640aaebf6
 ---> a4c859fb9486
Successfully built a4c859fb9486
Successfully tagged my_docker:latest
[root@VM-4-12-centos mydockerfile]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
my_docker           latest              a4c859fb9486        2 minutes ago       5.53MB
alpine              latest              e66264b98777        7 days ago          5.53MB
[root@VM-4-12-centos mydockerfile]# docker run my_docker
hello my dockerfile,liulei
[root@VM-4-12-centos mydockerfile]# 

恭喜你已经有了自己的Docker镜像。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值