目录
5. 部署 elasticsearch + portainer(可视化)
1. Linux 下安装 Docker
-
本人使用虚拟机 CenOS 7 64位,搭配 MobaXterm 操作
Docker 安装与配置步骤:
1. 如果以前安装有docker,先卸载旧版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2. 安装基本的安装包
sudo yum install -y yum-utils
3. 设置镜像的仓库
# 使用阿里云镜像 sudo yum-config-manager \ --add-repo \ https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # 下面的是官网默认的,因为是国外的很慢,不要用官网默认这个! sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
4. 更像软件包索引
yum makecache fast
5. 安装docker引擎,docker-ce 社区版 ee 企业版,全选y
yum install docker-ce docker-ce-cli containerd.io
6. 配置阿里云镜像加速,登录自己的阿里云,在控制台找到镜像服务
# 1.创建目录 sudo mkdir -p /etc/docker # 2.配置阿里云镜像 sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://xxxx.xxxx.aliyuncs.com"] } EOF
2. Docker 命令
-
启动 docker
systemctl start docker # 什么都不出现, 代表启动成功 docker version # 查看版本 sudo systemctl restart docker # 重启docker sudo systemctl daemon-reload # 重启镜像 systemctl stop docker # 关闭docker服务
-
卸载docker
yum remove docker-ce docker-ce-cli containerd.io # 卸载依赖 rm -rf /var/lib/docker # 删除资源 docker 的默认工作路径
-
镜像操作
docker search # 搜索仓库中的镜像,相当于网页搜索 docker search --filter=xxx=xxx # 搜索过滤条件 docker pull mysql # 下载镜像 docker pull mysql:5.7 # 指定版本下载 docker images # 查看下载的镜像 docker rmi -f 镜像id/镜像名字 # 删除镜像 docker rmi -f $(docker images -aq) # 递归删除所有镜像
-
启动容器
# 启动mysql容器,如果本地没有,它会去docker远程仓库找,并且下载到本地,如果远程与本地都没有则报错 docker run mysql # 后台启动容器 docker run -d 镜像名/镜像id # 进入当前正在运行的容器,开启一个新的终端,可以在里面操作(常用) docker exec -it 容器id/容器名 /bin/bash # 进入容器正在执行的终端,不会启动新的进程 docker attach 容器id/容器名 # 查看容器的日志,n 是可以选择多少条,不写则表示显示全部 docker logs -tf --tail n 容器id/容器名 docker start 容器id/容器名 # 启动容器 docker restart 容器id/容器名 # 重启容器 docker stop 容器id/容器名 # 停止容器 docker kill 容器id/容器名 # 强行关闭容器 docker ps # 查看当前运行中的容器 docker ps -aq # 查看所有容器,包括历史已关闭的容器 docker stats # 查看内容占用 docker rm -f 容器id/容器名 # 删除容器 docker rm -f $(docker ps -aq) # 递归删除所有容器
3. 部署 Nginx
-
部署 nginx 步骤
docker search nginx # 搜索 nginx docker pull nginx # 下载 nginx 镜像 # -d 后台启动 nginx,--name nginx01 命名,可不写,如果启动多个 nginx 则需要给每个 nginx 命名,-p 3344:80,暴露端口3344,可通过3344接口访问。 docker run -d --name nginx01 -p 3344:80 nginx crul localhost:3344 # 访问 nginx # 在本机访问宿主机中的 docker 中的 nginx ,需要把宿主机(本人使用的是虚拟机)防火墙关闭。根据 虚拟机ip:端口号 访问。 192.168.126.128:3344 # 远程访问 nginx
4. 部署 Tomcat
-
部署 tomcat 步骤
# 官网推荐方式,写了--rm,一次性运行,一停止即删除镜像,我们不使用这个方式 docker run -it --rm tomcat:9.0 docker pull tomcat:9.0 # 拉取镜像,带版本号 9.0 # 拉取下来,运行,3355 是映射的端口,暴露的端口 docker run -d -p 3355:8080 --name tomcat01 tomcat docker exec -it 容器id/容器名 /bin/bash # 进入容器,用 /bin/bash 命令进入 # 此时我们在外部访问 tomcat 是看不到页面的,需要把 webapps.dist 中的所有文件拷贝到 webapps 文件夹中,其中 -r 必须有,表示目录递归拷贝 cp -r webapp.dist/* webapp curl localhost:3355 # 访问 tomcat 192.168.126.128:3355 # 远程访问
5. 部署 elasticsearch + portainer(可视化)
-
部署 elasticsearch 步骤
docekr pull elasticsearch:7.6.2 # 拉取镜像 7.6.2 版本,不加版本号,默认拉最新版 # 无限制内存启动,这样会消耗大量内存,不建议这样启动 docker run -d --name elasticsearch01 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2 docker stats # 查看内存占用情况 # 限制最小占用 64m,最大占用 512m 内存,启动,-e 为环境配置 docker run -d --name elasticsearch01 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS=“-Xms64m -Xmx512m” elasticsearch curl localhost:9200 # 内网访问 elasticsearch 192.168.128.126:9200 # 远程访问 elasticsearch
-
部署 portainer
# 常用的可视化工具 kibana ,这里用 portainer(Docker图像化界面管理工具) # 中间这一堆是一些权限配置,本地卷挂载配置,下载启动 docker run -d -p 8088:9000 --restart=always -v /var/run/docker.sock:/var/run/docker --