文 | 平哥 日期 | 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