docker
docker介绍
Docker 是一个开源的应用容器引擎,基于 [Go 语言](https://www.runoob.com/go/go-tutorial.html) 并遵从 Apache2.0 协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
白话解释:docker可以理解成是手机中的应用市场,有了应用市场,就不用自己一个一个百度搜索软件并下载了,直接在应用市场中可以一键下载!
白话作用:docker帮助我们安装微服务开发需要的中间件,使用简单的命令控制docker安装即可,不需要自己手动安装!
daocker安装
-
清空原有组件残留
之前安装过旧版本,使用一下命令可以卸载!
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine \
docker-ce
-
设置docker仓库
在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。之后,您可以从仓库安装和更新 Docker. 安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2 --skip-broken
- 配置yum阿里镜像
# 设置docker镜像源
yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
yum makecache fast
-
安装docker
docker-ce为社区免费版本。稍等片刻,docker即可安装成功。
yum install -y docker-ce
- 启动docker
-
关闭防火墙
docker涉及端口映射,建议先关闭防火墙,避免端口屏蔽!
-
# 关闭
systemctl stop firewalld
# 禁止开机启动防火墙
systemctl disable firewalld
2. 启动和停止docker
systemctl start docker # 启动docker服务
systemctl stop docker # 停止docker服务
systemctl restart docker # 重启docker服务
docker -v
-
配置docker阿里镜像
更新docker对应的仓库,为阿里镜像,提升下载速度
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://as08lme3.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
-
docker基本概念
-
镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。
软件的安装包
-
容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
安装包安装以后的运行程序
-
仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像。
存放安装包的仓库
http://hub.docker.com 查看镜像
我们的目标,就是从仓库拉去镜像,启动运行成容器,即可!
-
-
docker Compose安装
安装docker compose,为了后期快速进行微服务集群部署!
-
导入compse文件
注意: 将文件上传到 /usr/local/bin文件夹
-
修改访问权限
-
# 修改权限
chmod +x /usr/local/bin/docker-compose
- 下载自动补全命令
echo "199.232.68.133 raw.githubusercontent.com" >> /etc/hosts
# 补全命令
curl -L https://raw.githubusercontent.com/docker/compose/1.29.1/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose
-
mysql安装
-
mysql介绍
-
镜像拉取
-
docker pull mysql
- 容器运行
docker run --name msql -v /msql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=root -d mysql --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
- 连接测试
docker exec -it 容器名 bash
mysql -uroot -p密码连接即可
-
rabbitmq安装
docker load -i mq.tar
启动容器
docker run \
-e RABBITMQ_DEFAULT_USER=root \
-e RABBITMQ_DEFAULT_PASS=123456 \
--name mq \
--hostname mq1 \
-p 15672:15672 \
-p 5672:5672 \
-d \
rabbitmq:3-management
-
基本使用
外部访问: http://ip:15672 输入账号和密码即可
-
redis安装
-
redis介绍
Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了MySQL这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便
-
redis安装
- 下载镜像
-
docker pull redis
- 启动容器
docker run --name myredis -p 6379:6379 -d redis redis-server --appendonly yes
# 创建和启动容器
redis-server --appendonly yes 设置持久化手段
- reids测试
docker exec -it myredis redis-cli
set name tom
get name