Docker是什么

官话:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
个人理解:docker容器就是一个可以存放东西的地方,就像书包可以装各种文具、衣柜可以放各种衣服、鞋架可以放各种鞋子一样。我们现在所说的容器存放的东西可能更偏向于应用比如网站、程序甚至是系统环境。

为什么要用Docker

为什么要用Docker

  1. 更高效的利用系统资源
  2. 更快速的启动时间
  3. 一致的运行环境
  4. 更高的性能

Docker和Linux的区别

docker anzhuan私服 docker服装_docker anzhuan私服

Docker的安装

注:安装Docker需要当前系统内核版本高于3.10,可以用uname -f 查看

[root@localhost ~]# uname -r
3.10.0-1062.4.3.el7.x86_64
  1. 安装所需要的包
yum install -y yum-utils device-mapper-persistent-data lvm2
  1. 设置Docker的镜像仓库
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  1. 安装Docker CE,安装过程中一直yyy就可以
yum install docker-ce
  1. 至此就安装成功了,我们可以启动一下Docker
启动docker: systemctl start docker
停止docker: systemctl stop docker
重启docker: systemctl restart docker
查看docker状态: systemctl status docker
开机自动启动docker: systemctl enable docker

docker anzhuan私服 docker服装_mysql_02

Docker简单操作命令

配置加速器

拉取镜像是从国外服务器上拉取,速度会慢,我们需要配置一下国内镜像加速器(以阿里云镜像为例)

  1. 注册并登陆阿里云https://www.aliyun.com/, 进入“管理控制台”后,在如下图找到 容器镜像服务
  2. 通过修改daemon配置文件/etc/docker/daemon.json来使用加速器
vi /etc/docker/daemon.json

写入下方内容

{
  "registry-mirrors": ["https://7n1d2tvm.mirror.aliyuncs.com"]
}
  1. 重启docker服务,如果重启docker后无法加速,可以重新启动CentOS
# 重载此配置文件
systemctl daemon-reload
# 重启 docker
systemctl restart docker

拉取镜像

例:拉取一个mysql:5.6镜像

#docker pull 镜像名:标签名
docker pull mysql:5.6

通过 docker images 来查看现有镜像

docker images

docker anzhuan私服 docker服装_Docker_03


删除镜像

docker rmi 镜像ID

创建容器

例:还是以mysql:5.6为例,创建一个容器

# docker run -id --name=容器名字 -p 宿主机端口号:容器运行端口号 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6
docker run -id --name=mxg_mysql -p 33306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6

查看我们常见的容器

docker ps

docker anzhuan私服 docker服装_docker anzhuan私服_04

进入容器

docker exec -it mxg_mysql /bin/bash

登录mysql

mysql -u root -p

docker anzhuan私服 docker服装_docker_05

这是可以用远程工具连接我们的mysql了(这里用navicat连接)

docker anzhuan私服 docker服装_Docker_06

总结

记是永远记不住的,通过这样的总结来巩固自己学到的知识,后面还会在总结一下如何把自己的写好的服务打包成镜像推送到阿里云仓库,如有对上述操作有问题的同学,欢迎一起交流学习!