docker的安装及使用

前言

1.docker特点:
docker是一个开源的应用容器引擎,基于GO语言,遵循Apache2.0开源协议
容器:是一个沙箱,相互之间没有任何接口,自身性能开销极低
容器内部,其实是一个不全的linux内核系统(cgroups\namespace\UnionFS)

2.应用:
容器组为应用中间件
同一个硬件上运行更多容器
docker组成:
镜像image
文件镜像(就像纸张,他有不同的尺寸)
镜像:镜子中的图形
容器container
镜像运行的实体(由纸张组成的笔记本,不同尺寸 纸张,构成不同大小的笔记本)
仓库repository
镜像仓库(纸张不同大小,尺寸标签)
3.docker基本使用
https://hub.daocloud.io/
直接docker命令
docker pull 拉取镜像
docker images 查看镜像
docker rm/rmi 删除镜像
docker start/restart/stop
docker exec

一、环境准备

1.查看自己的系统版本

cat /etc/centos-release

2.查看系统内核版本

uname -a

在这里插入图片描述
如果满足docker的环境要求CentOS7.4+系统内核版本为 3.10 以上,就可以安装docker了

二、docker的安装

1.安装系统所依赖的工具需要

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

在这里插入图片描述
2.yum的配置管理,添加docker的软件源地址

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

在这里插入图片描述
3.更新 yum 缓存

sudo yum makecache fast

在这里插入图片描述
4.可以查看所有仓库中所有docker版本,并选择特定版本安装

yum list docker-ce --showduplicates | sort -r

在这里插入图片描述
5.安装docker

由于repo中默认只开启stable仓库,故这里安装的是最新版

sudo yum install docker-ce

6.启动docker服务

sudo systemctl start docker

7.加入开机启动项

sudo systemctl enable docker

8.查看版本

docker version

在这里插入图片描述

三、卸载docker

> sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine

四、镜像的基本使用

Docker的三大核心概念:镜像、容器、仓库
1.镜像列表:
使用docker images查看本地已经下载的镜像

  1. REPOSITORY:表示镜像的仓库源
  2. TAG:镜像的标签,区分不同版本
  3. IMAGE ID:镜像ID,16进制组成,唯一标识
  4. CREATED:镜像创建时间
  5. SIZE:镜像大小
    在这里插入图片描述

五、实例

1.安装centos

docker pull centos

docker run
–name=“mycentos” 容器名称
-d 后台运行
-it 进入容器
-p 映射端口
8080:8080
-p
随机端口

例如 300e315adb2f 镜像id
docker run --name=“mycentos” -it 300e315adb2f /bin/bash
在这里插入图片描述
2.查看正在运行的容器

docker ps

在这里插入图片描述
3.查看所有的容器

docker ps -a

在这里插入图片描述
4.退出不停止容器,如果不行检查快捷键冲突

crtl + p + q

5.删除容器

docker rm -f 387ca3f2f4e2 

在这里插入图片描述
6.杀掉正在运行的容器

docker kill tender_wilson

在这里插入图片描述

docker kill 3c34e3f894e1

在这里插入图片描述
停止容器

docker stop 7afd270136b7

在这里插入图片描述
7.查看容器的日志
docker logs 容器id

docker logs 6d63ae544d70

在这里插入图片描述
动态查看后两条日志

docker logs -tf --tail 2  6d63ae544d70

在这里插入图片描述
8. 查看docker内部信息
docker top 容器id

docker top 6d63ae544d70

在这里插入图片描述
9.查看容器元信息
docker inspect 容器id

 docker inspect 6d63ae544d70

在这里插入图片描述
10.进入正在运行的容器,新打开终端
docker exec it 容器id /bin/bash

docker exec -it  6d63ae544d70 /bin/bash

在这里插入图片描述
11.进入容器正在打开的终端
docker attach 容器id

docker attach 6d63ae544d70

在这里插入图片描述
12.把容器的文件拷贝到宿主机上docker外的linux上

在这里插入图片描述
实例2
安装nginx

docker pull nginx

在这里插入图片描述

docker run --name=mynginx -d -p 8081:80 nginx

在这里插入图片描述
检验nginx是否启动:

curl localhost:8081

在这里插入图片描述
或者通过浏览器打开:
在这里插入图片描述
实例3:打包提交一个自定义镜像
提交一个经过改造的tomcat镜像
1.首先下载一个 tomcat9.0版本

docker pull tomcat:9.0 

2.启动tomcat

docker run -d --name=mytomcat -p 8082:8080  0ce438e89a29

在这里插入图片描述
3.访问网页:
在这里插入图片描述
4.此时的原因在于webapps目录下为空
在这里插入图片描述
5.现在把webapps.dist 下的文件复制到 webapps下 这样页面就可以正常显示了

docker exec -it 24bb29e186a2 
cp -r webapps.dist/* webapps

在这里插入图片描述
6.再次查看页面:
在这里插入图片描述
7.提交修改后的tomcat镜像

docker commit -m="有首页的tomcat" -a="gy"  24bb29e186a2  gy_tomcat

在这里插入图片描述
8.启动这个镜像的容器

 docker run -p 8090:8080 0a94f7236dc1

非后台运行
在这里插入图片描述
9.查看页面
在这里插入图片描述

六、容器数据卷

什么是容器数据卷?
比如你创建了一个mysql的容器,在里面新建数据库、表、数据,之后你想迁移数据或者升级数据库,直接把容器mysql容器删掉,里面的数据也会跟着被删除,这个时候如果可以把数据和容器分离,单独挂载一个数据卷,那么就能会好的应当这类问题
在这里插入图片描述
1.以tomcat为例
把tomcat的目录、user/local/tomcat/webapps映射到宿主机/test下

 docker run -d -v /test:/usr/local/tomcat/webapps 0ce438e89a29 

在这里插入图片描述
2.我在 test目录下新建一个文件a.txt在tomcat下的目录也可以看到,说明是同步的
在这里插入图片描述
3.我在docker下新建一个b.txt,也可以映射到/test目录下

七、docker安装mysql5.7

1.安装mysql:5.7

docker pull mysql:5.7

在这里插入图片描述
2.运行并映射mysql
映射到宿主机/test/datadir下

 docker run --name some-mysql -p 3306:3306 -v /test/datadir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

在这里插入图片描述
在这里插入图片描述
3.用Navicat链接mysql
在这里插入图片描述
在这里插入图片描述
4.进入到mysql中

 docker exec -it fc868fa6ff8e /bin/bash

在这里插入图片描述
5.操作mysql
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值