什么是docker
Docker 是一个用于开发、发布和运行应用程序的开放平台。
我可以使用 Docker 做什么?
快速、一致地交付应用程序。
举个例子
后台生成海报的功能,上线发现中文变成了乱码;测试环境没有任何问题。经过排查,发现线上没有这个字体。测试服和线上用的是同一个镜像,就不会出现这样的问题。
总结:”Build once,Run anyWhere”
Docker架构
Docker 使用客户端-服务器架构
镜像
镜像就像一个模版,通过这个模版来创建容器服务。一个镜像可以创建多个容器。
容器
Docker 可以利用容器运行一个或一组应用。
目前我们可以把容器看作一个简易版的linux系统。
仓库
仓库就是存放镜像的地方。
仓库分为私有仓库和公有仓库
Docker 安装
官网连接:https://docs.docker.com/engine/install/centos/
安装docker客户端、引擎、容器
yum install docker-ce docker-ce-cli containerd.io
启动docker
systemctl start dockerdocker version
卸载docker
yum remove docker-ce docker-ce-cli containerd.iorm -rf /var/lib/docker # 默认工作路径
Docker 镜像命令
帮助命令
docker 命令 --help
docker iamges
-a, —all # 列出所有镜像 -q, —quiet # 只显示镜像ID

解释
REPOSITORY 镜像仓库源
TAG 镜像的标签
IMAGE ID 镜像的ID
CREATED 镜像的创建时间
SIZE 镜像大小
docker search
docker search mysql

docker search -f STARS=3000 mysql

dockerhub https://hub.docker.com/
docker pull
docker pull mysql # 不指定版本号默认下载最新版docker pull mysql:5.7 # 下载指定版本的mysql
docker rmi
docker rmi -f 镜像id # 删除指定镜像docker rmi -f 镜像id 镜像id 镜像id # 删除指定多个镜像,id之间记住空格docker rmi -f $(docker images -aq) # 删除全部镜像
Docker 容器命令
docker run
新建容器并启动
—name=”Name” 容器名字,用于区分容器 -d 后台方式运行
-it 使用交互方式运行,进入容器查看内容
-p 主机端口:容器端口(小写)
-P 随机指定端口(大写) -v 将文件夹挂载到主机 -e 传递环境变量
启动mysql为例
docker run -p 3306:3306 --name mysql \-v /usr/local/docker/mysql/conf:/etc/mysql \-v /usr/local/docker/mysql/logs:/var/log/mysql \-v /usr/local/docker/mysql/data:/var/lib/mysql \-e MYSQL_ROOT_PASSWORD=123456 \-d mysql:5.7
docker ps
docker ps #列出当前正在运行的容器docker ps -a #列出历史运行过的容器docker ps -n=1 #显示最近创建的容器docker ps -q #只显示容器的编号
docker rm
docker rm 容器id # 删除指定容器,不能删除正在运行的容器,强制删除用rm -fdocker rm -f $(docker ps -aq) # 删除所有容器
启动容器
docker start 容器id # 启动容器docker restart 容器id # 重启容器docker stop 容器id # 停止正在运行的容器docker kill 容器id # 强制停止当前容器
docker logs
docker logs [可选参数] 容器ID # 查看指定容器的日志
进入容器
docker exec -it 容器id /bin/bash # 进入容器后开启一个新的终端docker attach 容器ID
docker inspect
docker inspect 容器id # 可以看到容器的一些基本信息



