Spring Boot系列之Docker快速上手

本文介绍Docker容器引擎的基本概念,包括其如何帮助开发者打包应用及其依赖,实现跨平台部署。文章涵盖Docker的安装步骤、常见问题解决,以及基本命令如搜索、拉取、运行镜像等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Docker是时下比较流行开源的应用容器引擎,作为一个开发者做一个简单的入门了解,有助于对系统运作的理解。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。

相关名词解释:
docker主机(Host):安装了Docker程序的机器(Docker直接安装在操作系统之上);
docker客户端(Client):连接docker主机进行操作;
docker仓库(Registry):用来保存各种打包好的软件镜像;
docker镜像(Images):软件打包好的镜像;放在docker仓库中;
docker容器(Container):镜像启动后的实例称为一个容器;容器是独立运行的一个或一组应用

Docker安装:
docker可以安装在Windows或Linux系统上,本文笔者安装了虚拟机使用Linux系统进行操作(大部分公司运维系统也是使用Linux,所以掌握Linux操作还是有意义的)。

1、检查内核版本,必须是3.10及以上
[root@localhost ~]# uname -r
2、升级内核
[root@localhost ~]# yum update
3、安装docker
[root@localhost ~]# yum install docker
   输入y确认安装
4、启动docker
[root@localhost ~]# systemctl start docker
[root@localhost ~]# docker ‐v
Docker version 1.12.6, build 3e8e77d/1.12.6
5、开机启动docker
[root@localhost ~]# systemctl enable docker
6、停止docker
[root@localhost ~]# systemctl stop docker

备注:刚刚安装的docker启动时可能会遇到问题,笔者在此记录遇到的问题及解决办法,仅供参考:

[root@localhost ~]# systemctl start docker
Job for docker.service failed because the control process exited with error code. 
See "systemctl status docker.service" and "journalctl -xe" for details.
[root@localhost ~]# systemctl status docker.service
docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
[root@localhost ~]## 说明没有docker这个用户组,需要自己创建用户组,使用以下命令
[root@localhost ~]# sudo groupadd docker
[root@localhost ~]# sudo usermod -aG docker $(whoami)
[root@localhost ~]## 先退出一下再重新登录来保证有了正确的权限
[root@localhost ~]# sudo service docker start

Docker常用命令&操作

1、搜索镜像
[root@localhost ~]# docker search tomcat
2、拉取镜像 不选版本默认最新
[root@localhost ~]# docker pull tomcat:8.5
3、镜像列表
[root@localhost ~]# docker images
4、删除镜像
[root@localhost ~]# docker rmi image-id
5、根据镜像启动容器
[root@localhost ~]# docker run --name mytomcat ‐d tomcat:8.5
6、查看运行中的容器
[root@localhost ~]# docker ps
7、 停止运行中的容器
[root@localhost ~]# docker stop 容器的id
8、查看所有的容器
[root@localhost ~]# docker ps ‐a
9、启动容器
[root@localhost ~]# docker start 容器id
10、删除一个容器
[root@localhost ~]# docker rm 容器id
11、启动一个做了端口映射的tomcat
[root@localhost ~]# docker run ‐d ‐p 8888:8080 tomcat
‐d:后台运行
‐p: 将主机的端口映射到容器的一个端口 主机端口:容器内部的端口
12、为了演示简单关闭了linux的防火墙,否则需要设置相关的防火墙权限
[root@localhost ~]# service firewalld status ;查看防火墙状态
[root@localhost ~]# service firewalld stop:关闭防火墙
13、查看容器的日志
[root@localhost ~]# docker logs container‐name/container‐id

更多命令参看
https://docs.docker.com/engine/reference/commandline/docker/
可以参考每一个镜像的文档
https://hub.docker.com/r/library/

###使用镜像加速拉取mysql镜像
[root@localhost ~]# docker pull registry.docker-cn.com/library/mysql
###mysql docker安装命令
[root@localhost ~]# docker run --name open-mysql -e MYSQL_ROOT_PASSWORD=1111 -p 3310:3306 -d mysql:5.7.22 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
###拉取带版本号的镜像
[root@localhost ~]# docker pull registry.docker-cn.com/library/rabbitmq:3-management
###rabbitmq安装 应用暴露端口,客户端连接端口
[root@localhost ~]# docker run -d -p 5672:5672 -p 15672:15672 --name myrabbitmq d69a5113ceae
###redis安装
[root@localhost ~]# docker run -d -p 6379:6379 --name myredis registry.docker-cn.com/library/redis

推荐阅读一篇网上的博客:https://www.cnblogs.com/myzony/p/9071210.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值