Docker的简介及操作

1.Docker简介

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

  • Docker支持将软件编译成一个镜像。镜像中软件的各种配置已经做好,只要把镜像发布出去,使用者拿到镜像就可以直接使用。运行中的镜像我们称其为容器,容器的启动非常之快。
  • 现在各大云平台也都支持docker技术。阿里云、百度云、各种云平台。
  • 使用Docker以后,我们在使用一些redis、elasticSearch等软件时,变得更简单了。降低了我们安装和配置软件的要求。

2.Docker核心概念

2.1.Docker中的核心概念

  • docker镜像(Images):软件打包好的镜像,docker镜像是用于创建docker容器的模板,放在docker仓库中。
  • docker容器(Container):镜像启动后的实例称为一个容器,容器是独立运行的一个或一组应用。
  • docker客户端(Client):客户端通过命令行或者其他工具,连接docker主机进行操作。主要是和Docker的守护进程进行通讯。
  • docker主机(Host):安装了Docker程序的机器(Docker直接安装在操作系统之上)。
  • docker仓库(Registry):用来保存各种打包好的软件镜像。
    Hub提供了大量的镜像集合供 使用。
    https://hub.docker.com
    在这里插入图片描述

2.2.Docker的基本使用步骤

1.操作系统中安装docker程序。
2.去docker仓库找到对应放到docker镜像。
3.使用docker命令运行docker镜像,生成该镜像对应的容器,就是docker镜像对应的运行软件。
4.对容器的启动和停止,就是对软件的启动和停止。

3.安装Docker

3.1. Docker安装系统介绍

Docker可以安装到操作系统之上,所以可以安装到windows/mac/linux等系统中。
我们这里以linux为例。其他系统的安装可以查看:
https://www.runoob.com/docker/windows-docker-install.html

3.2. Docker安装前准备

3.2.1.安装linux操作系统

1.安装VMware虚拟机
2.VMware中打开CentOS7纯净版文件夹下:CentOS7纯净版.vmx
在这里插入图片描述
3.设置虚拟机网络
在这里插入图片描述

  • 通过命令vim /etc/sysconfig/network-scripts/ifcfg-ens33进行设置。
    在这里插入图片描述
    自定义的子网掩码、网关要和宿主机一致。
    在宿主机使用ipconfig来查看
  • 重启网络服务
    service network restart
  • ip addr命令查看ip

4.使用客户端连接linux服务器

3.2.2.安装docker在linux操作系统上

1.检查linux内核版本,必须是3.10以上
[root@localhost ~]# uname -r
3.10.0-957.el7.x86_64

如果版本太低,使用yum update命令,进行内核版本升级(选做)

2.安装docker
[root@localhost ~]# yum install docker -y
3.启动docker
[root@localhost ~]# systemctl start docker
4.获取docker版本
[root@localhost ~]# docker -v
Docker version 1.13.1, build cccb291/1.13.1
5.设置为开机启动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.
6.停止docker
[root@localhost ~]# systemctl stop docker

4.Docker常用操作

4.1.镜像操作

在这里插入图片描述
注:我们需要配置国内镜像加速器。
vi /etc/docker/daemon.json 来配置 Daemon。
配置内容如下:

{
  "registry-mirrors": ["http://hub-mirror.c.163.com"]
}

配置好后,重启docker
service docker restart

  • 检索
 [root@localhost ~]# docker search mysql
  • 拉取镜像
[root@localhost ~]# docker pull mysql:8.0
  • 查询本地镜像
[root@localhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/mysql        8.0                 9228ee8bac7a        8 days ago          547 MB
  • 删除本地镜像
[root@localhost ~]# docker rmi d404d78aa797

4.2.容器操作

软件镜像(安装程序的文件)----运行镜像产生一个容器(安装程序)----启动容器(打开程序)
在这里插入图片描述
更多操作:
https://docs.docker.com/engine/reference/commandline/image_tag/
1.拉取tomcat:8.5.38

[root@localhost ~]#  docker pull tomcat:8.5.38

2.运行镜像

[root@localhost ~]# docker run --name mytomcat -d -p 8888:8080 tomcat:8.5.38

3.查看容器

[root@localhost ~]# docker ps

4.启动容器

[root@localhost ~]# docker start 5cf4df638951 
5cf4df638951

5.停止容器

[root@localhost ~]# docker stop 5cf4df638951 
5cf4df638951

6.删除容器

[root@localhost ~]# docker rm 5cf4df638951
5cf4df638951

7.容器日志

[root@localhost ~]# docker logs 114449d6dd99 

5.Docker安装mysql:8.0

在这里插入图片描述
1.镜像检索

[root@localhost ~]# docker search mysql

2.拉取镜像

[root@localhost ~]# docker pull mysql:8.0

3.镜像列表

[root@localhost ~]# docker images

4.运行镜像(根据docker hub官网操作)

  • Mysql启动时,需要指定密码,通过-e MYSQL_ROOT_PASSWORD
  • Mysql启动时,配置端口映射,通过 -p
[root@localhost ~]# docker run --name mysql8.0 -p 3306:3306 -d -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0
93ed851e9012d90e216e0f7a533b1c3e5ec2a18e18b63a1a8ee8b85650892109

5.两个高级操作

  • 把主机的/conf/mysql文件夹挂载到 mysqldocker容器的/etc/mysql/conf.d文件夹里面
    改mysql的配置文件就只需要把mysql配置文件放在自定义的文件夹下(/conf/mysql)

docker run ‐‐name mysql03 ‐v /conf/mysql:/etc/mysql/conf.d ‐e MYSQL_ROOT_PASSWORD=my‐secret‐pw ‐d mysql:tag

  • 指定mysql的一些配置参数

docker run ‐‐name some‐mysql ‐e MYSQL_ROOT_PASSWORD=my‐secret‐pw ‐d mysql:tag ‐‐character‐set‐ server=utf8mb4 ‐‐collation‐server=utf8mb4_unicode_ci

6.Docker连接mysql

[root@localhost ~]# docker exec -it mysql8.0 bash
root@93ed851e9012:/# mysql -uroot -p123456

7.使用navicate连接,解决报错1251问题

mysql> alter user 'root'@'%' identified with mysql_native_password by '123456';
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

总结:我们通过Docker下载的镜像相当于我们下载的软件安装包,运行镜像文件就是我们安装程序的过程,开启容器才是我们真正的打开了软件。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值