SpringBoot——Docker

一、Docker

1.1 简介

Docker是一个开源的应用容器引擎;
Docker支持将软件编译成一个镜像,然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像。
运行中的这个镜像称为容器,容器启动时非常迅速的,

1.2 Docker核心概念

docker镜像(Images): Docker镜像是用于创建Docker容器的模板。软件打包的镜像。
docker容器(Container): 容器是独立运行的一个或一组应用;镜像启动后的实例称为一个容器。
docker客户端(Client): 客户端通过命令行或者其他工具使用Docker;连接Docker主机进行操作。
docker主机(Host): 一个物理或者虚拟的机器用于执行Docker守护进程和容器;安装了Docker的机器,Docker直接安装在操作系统之上。
docker仓库: Docker仓库来保存镜像,可以理解为代码控制中的代码仓库。用来保存各种打包好的软件镜像。

使用Docker的步骤:
1)安装Docker
2)去Docker仓库找到这个软件对应的镜像;
3)使用Docker运行这个镜像,这个镜像就会生成一个Docker容器
4)对容器的启动停止就是对软件的启动停止

1.3 安装Docker

步骤:
1、检查内核版本,必须是3.10及以上

[root@localhost ~]# uname -r

2、安装Docker

[root@localhost ~]# yum install docker

3、启动Docker

[root@localhost ~]# systemctl start docker

4、将Docker服务设为开机启动

[root@localhost ~]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib
/systemd/system/docker.service.[root@localhost ~]# 

5、停止Docker

[root@localhost ~]# systemctl stop docker
[root@localhost ~]# 

1.4 Docker常用操作

1、镜像操作

操作命令说明
检索docker search 关键字 eg: docker search redis我们经常去docker hub上检索镜像的详细信息,如镜像的TAG。
拉取docker pull 镜像名:tag:tag是可选的, tag表示标签,多为软件的版本,默认是latest
列表docker images查看所有本地镜像
删除docker rmi image-id删除指定的本地镜像
[root@localhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/mysql     latest              791b6e40940c        2 weeks ago         465 MB
docker.io/mysql     5.5                 d404d78aa797        9 months ago        205 MB
[root@localhost ~]# docker rmi ^C
[root@localhost ~]# docker rmi d404d78aa797
Untagged: docker.io/mysql:5.5
Untagged: docker.io/mysql@sha256:12da85ab88aedfdf39455872fb044f607c32fdc233cd59f1d26769fbf439b045
Deleted: sha256:d404d78aa797c87c255e5ae2beb5d8d0e4d095f930b1f20dc208eaa957477b74
Deleted: sha256:8ae7b3986b745c9cea4ea3789277dbf8543d6caed82c23d1ec19637813376df5
Deleted: sha256:6aaf52074d0d6ec3263af5f53b921a91ba3ddbeb2fece1a82ebe1bc5086c3814
Deleted: sha256:cf0a74866630c5d7ed05927cf981ac93b63ba83407872c9c0fbe0486d5f9806e
Deleted: sha256:e06cee897f9eb6bb5769f93cf6cd0285bb773d7e2bad6dfd5592a8682a6e6740
Deleted: sha256:4354e03e5a414adc57def51226d72fa2d117875a6c9665561a7c0fc85d23c46f
Deleted: sha256:647b973285178c7d4bf022c31baac404e0947d37be8e8e85731de8f7ca7e70e6
Deleted: sha256:c75ab456a585af40ca2ec8488164230deb81a1739d868604cb7b6661c24e37b5
Deleted: sha256:50a75eb6a0b2254fe5d96f999cc2087e72d515c93509a816bbd9ffb707a3b1b0
Deleted: sha256:1ae6616333a66450738a72a75c03bdf0236e0425ba0336ac5cdbe470ab6f4a3e
Deleted: sha256:68e318bd9263aedd19d9d73b051a262fa57e2a16f9c81c8b39163601020cd405
Deleted: sha256:6270adb5794c6987109e54af00ab456977c5d5cc6f1bc52c1ce58d32ec0f15f4
[root@localhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/mysql     latest              791b6e40940c        2 weeks ago         465 MB
[root@localhost ~]# 

2、容器操作

操作命令说明
运行docker run --name container-name -d image-name eg:docker run –name myredis –d redis–name:自定义容器名 -d:后台运行 image-name:指定镜像模板
列表docker ps(查看运行中的容器);加上-a;可以查看所有容器
停止docker stop container-name/container-id停止当前你运行的容器
启动docker start container-name/container-id启动容器
删除docker rm container-id删除指定容器
端口映射-p 6379:6379 eg:docker run -d -p 6379:6379 --name myredis docker.io/redis-p: 主机端口(映射到)容器内部的端口
容器日志docker logs container-name/container-id
更多命令https://docs.docker.com/engine/reference/commandline/docker/

软件镜像(QQ.exe)——运行镜像——产生一个容器(正在运行的软件,运行的QQ);
步骤:
  1)搜索镜像

[root@localhost ~]# docker search tomcat

  2)拉去镜像

[root@localhost ~]# docker pull tomcat

  3)根据镜像启动容器

[root@localhost ~]# docker run --name mytomcat -d tomcat:latest

  4)查看运行中的容器

[root@localhost ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS     
          NAMESb89542b81e01        tomcat:latest       "catalina.sh run"   8 seconds ago       Up 7 seconds        8080/tcp  
          mytomcat

  5)停止运行中的容器

[root@localhost ~]# docker stop b89542b81e01

  6)查看所有的容器

[root@localhost ~]# docker ps -a

  7)启动容器

[root@localhost ~]# docker start b89542b81e01

  8)删除容器

[root@localhost ~]# docker rm b89542b81e01

  9)启动一个做了端口映射的tomcat

[root@localhost ~]# docker run -d -p 8888:8080 tomcat
# -d后台运行
# -p将主机的端口映射到容器端口

  10)为了演示简单,关闭了linux的防火墙

# 查看防护墙状态
[root@localhost ~]# service firewalld status
# 临时关闭防火墙
[root@localhost ~]# service firewalld stop

  11)查看容器日志

[root@localhost ~]# docker logs 66541cf99965

几个其他的高级操作

$ docker run --name some-mysql -v /my/custom:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
把主机中的/my/custom文件夹挂载到 mysqldocker容器的/etc/mysql/conf.d文件里面


$ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
指定mysql的一些参数,
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值