文 | 平哥 日期 | 20201112
一、Docker 简介
Docker 是基于 Go 语言 实现的开源容器我的项目。冀望达到使我的项目运行环境“一次封装,到处运行”的目标。
学习 Docker 次要目标是可能做两件事件:
1. 在 Docker 装置软件
2. 把我的项目部署到 Docker
Docker 架构:
Docker 是通过装置在宿主机上的 Daemon 后台程序来接管客户端命令,创立容器实例,从近程镜像仓库核心拉取或创立镜像。
二、Docker 装置与启动
Docker 有 windows 和 linux 版本。本次操作以装置在 Linux 上进行演示的。
以下装置步骤基于 CentOS8,须要确保该虚拟机能够连贯外网。
1.Docker 装置
Step 1 上传安装包
Docker 的装置能够分为在线装置和本地装置,因为须要连贯 Docker 官网,网速感人且极易失败,于是我采纳的是本地装置。
具体安装包:
链接: https://pan.baidu.com/s/1QYwL… 明码: ljsk
将下载好的安装包上传至 CentOS 中:
Step 2 装置依赖和 Docker
应用 yum localinstall
命令别离装置:
1、先装置 containerd.io:
# yum localinstall containerd.io-1.2.6-3.3.fc30.x86_64.rpm
2、装置 docker-ce:
# yum localinstall -y libcgroup
# yum localinstall -y docker-ce-cli-19.03.12-3.el7.x86_64.rpm
# yum localinstall -y docker-ce-19.03.12-3.el7.x86_64.rpm
Step 3 启动并查看 Docker
启动命令:
# systemctl start docker
查看 docker 信息:
# docker info
后果如图:
Step 4 阿里云镜像加速器配置
默认状况下 Docker 从 Docker Hub 上下载镜像资源,但速度很慢,能够通过配置国内的镜像加速器来解决。
登录阿里云控制台,输出“容器镜像服务”进行搜寻,点击“镜像加速器”:
在装置好的 Docker 的服务器上,依照页面阐明配置 daemon.json 配置文件并重启即配置实现。
三、Docker 镜像操作
3.1 列出本地所有镜像
命令:
# docker images
后果如图:
后果解释:
REPOSITORY:镜像所在的仓库名称
TAG:镜像标签(其实就是版本)
IMAGE ID:镜像 ID
CREATED:镜像的创立日期(不是获取该镜像的日期)
SIZE:镜像大小
3.2 搜寻近程镜像
若本地没有须要的镜像,则能够去近程镜像仓库核心进行搜寻,命令:
# docker search mysql
后果如图:
后果解释:
NAME:仓库名称
DESCRIPTION:镜像形容
STARS:用户评估,反馈一个镜像的受欢迎水平
OFFICIAL:是否官网
AUTOMATED:主动构建,示意该镜像由 Docker Hub 主动构建流程创立的
3.3 拉取镜像
应用如下命令,即可从近程镜像仓库中拉取镜像:
docker pull mysql:latest
四、Docker 容器操作
能够将 Docker 容器看成是最简略的 Linux 环境(包含零碎内核、root 用户权限、过程空间、网络空间和用户空间)和运行在其中的应用程序(比方 MySQL)。
4.1 新建容器
命令:
docker create [options] 镜像名称或 ID
例如:
# docker create --name mysqlgcp -p 3307:3306 -e MYSQL_ROOT_PASSWORD=root mysql:latest
参数阐明:
–name:用于给创立的容器重命名
-p:宿主机和 docker 容器的端口映射,hostPort:containerPort
-e:设置参数
有可能会用 -v:主机和容器的目录映射关系,”:” 前为主机目录,之后为容器目录
以上容器创立,但未运行。
4.2 查看容器
以下命令查看本地正在运行的容器:
# docker container ls
若想查看所有曾经创立的容器,即包含未运行的容器(如 4.1 创立的容器),退出 -l
参数:
# docker container ls -l
后果:
其余罕用参数阐明:-n 数字
:显示最近 n 个创立的容器-a
:列出所有的运行过的容器-q
:列出容器 id
4.3 启动容器
应用以下命令启动已创立的容器:
# docker start mysqlgcp
或:# docker start 52bdd1defcd8
即能够应用容器名称或容器 ID
4.4 与运行中的容器交互
应用如下命令与运行中的容器进行交互:
# docker exec [option] 容器 ID [command]
例如:
docker exec -it 52bdd1defcd8 /bin/bash
参数阐明:-i
:以交互模式运行容器,通常与 -t
连用 -t
:为容器重新分配一个伪终端,通常与-i
连用
成果如图:
从容器终端中退出,应用 exit
命令
4.5 进行容器
命令如下:
# docker stop 容器名称或容器 ID
4.6 创立并运行容器
命令如下:
# docker run [options] 镜像名称或镜像 ID [COMMAND] [ARG...]
具体命令举例如下:
# docker run -p 3307:3306 --name mysqlgcp -e MYSQL_ROOT_PASSWORD=root -d mysql:latest