Docker极简教程【初识】

简介: 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 命令查看你当前的内核版本。


image.png


如果CentOS版本是7以上并且为64位,那是完全没用问题的。

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



image.png


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


1.3 镜像加速


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


新版的 Docker 使用 /etc/docker/daemon.json(Linux) 或者 %programdata%\docker\config\daemon.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


image.png


2.2 拉取官方镜像
docker pull nginx
2.3 拉取成功查看本地镜像
docker images nginx


image.png

2.4 启动Nginx服务器
docker run -p 8080:80 -d nginx


  • -p 8080:80:将本机8080端口映射到Nginx容器的80端口
  • -d:后台启动


2.5 查看Docker当前运行
docker ps


image.png

2.6 访问测试


image.png


2.7 拷贝本地文件到容器内


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


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


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


image.png


2.8 停止Docker容器
docker stop ID



image.png


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

2.9 保存容器内更改

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



image.png


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


docker commit -m 'fun' aaef9a68525a nginx-fun


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


然后查看现有镜像:



image.png


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


2.10 删除容器


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


image.png


3. 命令小结



image.png


以上为本文的全部内容!




目录
相关文章
|
4月前
|
Oracle 关系型数据库 数据库
|
4月前
|
关系型数据库 MySQL Java
Docker Compose详细教程(从入门到放弃)
Docker Compose详细教程(从入门到放弃)
737 0
|
15天前
|
Cloud Native 持续交付 Docker
云原生技术实践:Docker容器化部署教程
【9月更文挑战第4天】本文将引导你了解如何利用Docker这一云原生技术的核心工具,实现应用的容器化部署。文章不仅提供了详细的步骤和代码示例,还深入探讨了云原生技术背后的哲学,帮助你理解为何容器化在现代软件开发中变得如此重要,并指导你如何在实际操作中运用这些知识。
|
1月前
|
网络协议 Unix Shell
Docker基本教程
这篇文章是关于Docker的入门教程,介绍了Docker的基本命令和操作,包括镜像搜索、拉取、列出、删除,容器的运行、进入、退出、查看状态、停止、重启和删除,以及权限问题的解决方法。
61 2
|
1月前
|
Linux 测试技术 Docker
Docker CE for CentOS 安装教程
Docker CE for CentOS 安装教程
81 1
|
22天前
|
Ubuntu Shell Linux
docker快速入门教程
docker快速入门教程
59 0
|
2月前
|
关系型数据库 MySQL Linux
Docker安装mysql详细教程, mysqld: Can‘t read dir of ‘/etc/mysql/conf.d/‘(报错已解决)
Docker安装mysql详细教程, mysqld: Can't read dir of '/etc/mysql/conf.d/' (Errcode: 2 - No such file or directory) 已解决
|
3月前
|
Docker 容器
尚硅谷2024新版3小时速通Docker教程
尚硅谷2024新版3小时速通Docker教程
46 1
尚硅谷2024新版3小时速通Docker教程
|
4月前
|
存储 JSON 安全
Docker 的 overlay2 扩容教程
Docker 的 overlay2 扩容教程
289 3