一、docker简介
- Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。
- Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
- 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
- Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版),我们用社区版就可以了。
- Docker官网:
https://www.docker.com/
简单来说就是新一代虚拟化技术
二、docker安装
2.1环境配置
先查看内核
uname -r
更新yum源为最新
yum update -y
这过程有点久,需要等待一下。
完成之后再安装Docker所需要的工具包
yum install -y yum-utils device-mapper-persistent-data lvm2
设置yum源
因为不设置的话,走的是国外的,打都打不开,所以要设置国内的
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
接下来才是正式下载docker
下载安装Docker
yum install docker-ce docker-ce-cli containerd.io -y -y
启动Docker并且设置开机自启动
systemctl start docker 启动
systemctl enable docker 开机自启动
然后检测Docker是否安装成功
docker version
2.2配置镜像仓库
- 阿里云镜像仓库配置
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
没有账号就去申请一个账号,手机号就行了
然后把CentOS配置
然后去创建一个
vi daemon.json
把仓库镜像地址拷进去
每个人的不一样,要拷自己的
然下一步
systemctl daemon-reload
systemctl restart docker
如果遇到这个问题的话
Docker服务启动报错:Job for docker.service failed because the control process exited with error
/etc/sysconfig/docker-storage
进入vi模式下按i键,进入插入模式输入
DOCKER_STORAGE_OPTIONS="–selinux-enabled --log-driver=journald --signature-verification=false"
保存并退出,再去启动一下,就成功了
这个时候doker就配置成功了,你可以去简单去测试一下
查找官网有多少MySQL
docker search mysql
下载一个测试一下
docker pull mysql
查看mysql有多大
我现在删除它
docker rmi
到目前为止,docker的安装就完成了,没有问题的。
三、docker常用命令(重点)
3.1基本命令
#启动Docker
systemctl start docker
停止Docker
systemctl stop docker
重启Docker
systemctl restart docker
开机启动Docker
systemctl enable docker
查看Docker概要信息
docker info
查看Docker帮助文档
docker --help
查看Docker版本信息
docker version
3.2镜像命令
#查询
docker images ... 查看下载了哪些镜像
docker search abc ... 官网上有哪些镜像
docker search
#新增
docker pull ...
docker push ...
#删除
docker rmi ...
docker rmi -f ...
增加就是拉取
就可以查到刚下载的centos7镜像
删除就是通过镜像ID或者名字去删除
这里的意思是没删掉,是因为我刚刚通过Hello-world创造了容器哦
那么就要删除就强制删除
docker rmi -f
3.3容器命令
#新增
docker run
docker run -di 创建容器不进入容器
docker run -it 创建容器并且进入容器
docker run --name
#查询
docker ps 查看没有停掉的
docker ps -a 查看全部
docker inspect
#删除
docker rm
docker rm -f
#进入容器
docker exec -it tomcat1 /bin/bash
#退出容器
Ctrl+P+Q 退出容器不停止
exit; 退出容器停止
新增容器
并且进入容器
注意看不一样了,进入到了容器,容器里面的根目录
容器里的目录跟数组机里面的目录差不多。
我现在在数组机里面,想要进入我刚创建的mycentos02的话该怎么办
docker exec -it +容器名 /bin/bash
我在这里面建一个
mkdir zzs
mycentos01
这两个容器互不影响。
停掉mycentos01
删掉容器
docker rm +容器名
只能删除死掉的
如果你想删除活的在中间加 -f
你也可以先停掉容器再删除
查看容器日志