【加精】Docker极简教程【初识】

本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> 【加精】Docker极简教程【初识】

开头安利一个Java方向的学习群:欢迎加入 Java知音三千人的社群:696209224

Docker 是一个开源的应用容器引擎,基于 Go 语言] 并遵从Apache2.0协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。

Docker有免费的CE社区版和收费的EE企业版,本文安装的是CE版本。

1. Docker安装

1.1 检查

Docker 要求 CentOS 系统的内核版本高于 3.10 ,可以通过 uname -r 命令查看你当前的内核版本。

Docker极简教程【初识】

1.2 安装

安装一些必要系统工具:


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

添加软件源信息:


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

更新 yum 缓存:


sudo yum makecache fast

安装 Docker-ce:


sudo yum -y install docker-ce

启动 Docker 后台服务


sudo systemctl start docker

测试运行 hello-world


docker run hello-world
Docker极简教程【初识】

由于本地没有hello-world这个镜像,所以会下载一个hello-world的镜像,并在容器内运行。

1.3 镜像加速

例如在使用Maven时我们一般会配置阿里云国内镜像加速,在使用Docker时也是如此。我使用的是网易的镜像地址:http://hub-mirror.c.163.com。

新版的 Docker 使用 /etc/docker/daemon.json(Linux) 或者 %programdata%dockerconfigdaemon.json(Windows) 来配置 Daemon。

请在该配置文件中加入(没有该文件的话,请先建一个):


{
  "registry-mirrors": ["http://hub-mirror.c.163.com"]
}

1.4 卸载Docker

执行以下命令来删除 Docker CE:


$ sudo yum remove docker-ce
$ sudo rm -rf /var/lib/docker

2. 实战Nginx

2.1 查找Docker Hub上的 nginx 镜像

docker search nginx
Docker极简教程【初识】
2.2 拉取官方镜像

docker pull nginx
2.3 拉取成功查看本地镜像

docker images nginx
Docker极简教程【初识】
2.4 启动Nginx服务器

docker run -p 8080:80 -d nginx
  • -p 8080:80:将本机8080端口映射到Nginx容器的80端口
  • -d:后台启动
  • 2.5 查看Docker当前运行
    
    docker ps
    
    Docker极简教程【初识】
    2.6 访问测试
    Docker极简教程【初识】
    2.7 拷贝本地文件到容器内

    把当前目录下的index.html文件拷贝到容器内,替换Nginx的默认首页。

    
    docker cp index.html dbfc48660aeb://usr/share/nginx/html
    

    dbfc48660aeb是容器内Nginx运行的ID,/usr/share/nginx/html是容器内Nginx的首页默认路径。

    Docker极简教程【初识】

    再次访问浏览器,可以看到首页已经更换为我们自定义的文件内容。

    Docker极简教程【初识】
    2.8 停止Docker容器
    
    docker stop ID
    
    Docker极简教程【初识】

    刷新浏览器,访问提示无法连接。

    2.9 保存容器内更改

    再次运行Nginx容器,访问首页,发现更改的首页又复原了。如图:

    Docker极简教程【初识】

    这是因为在更改后没有提交保存导致的。也就是需要下面这句命令:

    
    docker commit -m 'fun' aaef9a68525a nginx-fun
    
  • -a ' author':作者名
  • -m 'fun':是说明文字;
  • aaef9a68525a:容器ID,通过ps命令获取;
  • nginx-fun:新生成的image镜像名称;
  • 然后查看现有镜像:

    Docker极简教程【初识】

    发现新生成了一个nginx-fun镜像。

    2.10 删除容器

    虽然有些容器已经停止了,但是还存有信息,可以通过 docker ps -a查看,再通过 docker rm [CONTAINER ID]删除。

    Docker极简教程【初识】

    3. 命令小结

    Docker极简教程【初识】

    以上为本文的全部内容!

    关注后端技术精选,每天推送优质好文

    Docker极简教程【初识】
    本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

    本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

    原文链接:blog.ouyangsihai.cn >> 【加精】Docker极简教程【初识】


     上一篇
    Docker Machine 详解 Docker Machine 详解
    作者:sparkdev链接:www.cnblogs.com/sparkdev 链接:www.cnblogs.com/sparkdev 笔者在《》一文中简单介绍了 Docker Machine 及其基本用法,但是忽略的细节实在是太多了。比
    2021-04-05
    下一篇 
    用 Docker Machine 创建 Azure 虚拟主机 用 Docker Machine 创建 Azure 虚拟主机
    作者:sparkdev链接:www.cnblogs.com/sparkdev 链接:www.cnblogs.com/sparkdev 搭建环境向来是一个重复造轮子的过程,Docker Machine 则把用户搭建 Docker 环境的各
    2021-04-05