Docker个人学习总结

本篇文章配合B站视频进行学习

1.Docker介绍

在这里插入图片描述

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

1.1引言

  1. 本地运行没问题。上线有问题。
    环境不一致
  2. 死循环,卡顿。
    在多用户的操作系统下,会相互影响
  3. 用户暴增
    运维成本过高
  4. 安装成本过高,过于繁琐。
    安装成本过高

1.2Docker由来

Docker 是 PaaS 提供商 dotCloud 开源的一个基于 LXC 的高级容器引擎,源代码托管在 Github 上, 基于go语言并遵从Apache2.0协议开源。
Docker自2013年以来非常火热,无论是从 github 上的代码活跃度,还是Redhat在RHEL6.5中集成对Docker的支持, 就连 Google 的 Compute Engine 也支持 docker 在其之上运行。

1.3Docker思想

  1. 集装箱
    会将所有需要的内容放到不同的集装箱中,谁需要环境直接拿到这个集装箱即可

  2. 标准化
    运输标准化:Docker有个码头,所有上传的集装箱都放在这个码头上,当谁需要某个环境,就直接指派搬运到集装箱可以
    命令标准化:Docker提供了一系列的命令,帮助我们去获取集装箱操作等等
    提供REST的API:衍生处很多的图形化界面:Rancher

  3. 隔离性
    Docker在运行集装箱内的内容时,会在Linux的内核中,单独开辟一片空间,这篇空间不会影响到其他程序

  4. 注册中心(超级码头,上面放的都是集装箱)

  5. 镜像(集装箱)

2.Docker的基本操作

2.1 安装Docker

#2.1.1下载关于Docker的依赖环境
yum -y install yum-utils device-mapper-persistent-data lvm2
# 2.1.2设置Docker的镜像源
yum -config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 2.1.3安装Docker
yum makecache fast
yum -y install docker-ce
#启动Docker服务
systemctl start docker
#设置为开机自启动
systemctl enable docker
# 测试
docker run hello-world

2.2 Docker的中央仓库

2.2.1 Docker官方的中央仓库,镜像最全,较慢

2.2.2 国内镜像网站:网易蜂巢,Daocloud

2.2.3公司自己搭建

在公司内部会采用私服的方式拉取镜像(添加配置)
需要创建 /etc/docker/daemon.json,并添加如下内容

{
	"registry-mirrors":["https://registry.docker-cn.com"],
	"insecure-registries":["ip:port"]
}
**重启两个服务**
systemctl daemon-reload
systemctl restart docker

2.3 镜像的操作

#1.拉取镜像到本地
docker pull 镜像名称[tag]
#案例
docker pull daocloud.io/library/tomcat:8.5.15-jre8
#2.查看全部本地的镜像
docker images
#3.删除本地镜像
docker rmi 镜像的标识
#4.镜像的导入导出(不规范)
#将本地的镜像导出
docker save -o 导出镜像 镜像id
#加载本地的镜像文件
docker load -i 镜像文件
#修改镜像名称
docker tag 镜像id  新镜像名称:版本

2.4 容器的操作

#1.运行容器
docker run 镜像的标识|镜像名称[:tag]
#常用的参数
docker run -d -p 宿主机端口:容器端口 --name 容器名称 镜像的标识|镜像名称[:tag]
#-d:代表后台运行容器
#-p:宿主机端口:容器端口:为了映射当前Linux的端口和容器的端口
#--name 容器名称:指定容器名称
#2.查看正在运行的容器
docker ps [-qa]
#-q:查看全部的容器,包括没有运行
#-a:只查看容器得到的标识
#3.查看容器的日志
docker logs -f 容器id
#-f:可以滚动查看日志的最后几行
#4.进入到容器内部。
docker exec -it 容器id bash

#5.删除容器(删除容器前,需要先停止容器)
#停止指定容器
docker stop 容器id
#停止所有的容器
docker stop $(docker ps -qa)
#删除指定容器
docker rm 镜像id
#删除所有容器
docker rm $(docker ps -qa)
#6.启动容器
docker start docker 

3.Docker应用

3.1准备SSM工程
ssm.war下载
https://download.lixian.fun/web_project/Jpress-0.4.0.tar.gz将上面连接的tar下载下来,解压,在wars目录里面将jpress-web-newest.war重命名为ssm.war就行了

#下载
wget -c https://download.lixian.fun/web_project/Jpress-0.4.0.tar.gz
#解压
tar -zxvf Jpress-0.4.0.tar.gz
#重命名
mv jpress-web-newest.war ssm.war

3.2准备MySQL容器

#运行MySQL容器
docker run -d -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=root daocloud.io/library/mysql:5.7.4

3.3准备Tomcat容器

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值