一、准备工作
1.1 查看内核
// 保证内核 3.10 以上 uname -r
1.2 卸载旧版docker
yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
// docker默认工作路径 rm -rf /var/lib/docker
1.3 安装依赖
yum -y install yum-utils
1.4 设置国内阿里云镜像仓库
yum-config-manager \ --add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
1.5 更新yum
yum makecache fast
1.6 安装Docker
// docker-ce 社区版本 docker-ee 企业版 yum install docker-ce docker-ce-cli containerd.io
1.7 启动Docker测试
// 启动 systemctl start docker // 查看信息 docker version // 测试helloword docker run helloword
1.8 查看镜像
docker images
二、阿里云镜像加速
2.1 登录阿里云账号
2.2 镜像加速
2.3 配置加速
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://e5yl33pf.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
三、Docker命令
docker info docker 命令 --help
3.1 镜像命令
// 查看本地所有的镜像 docker images // 搜索 镜像 docker search mysql // 下载默认最新的镜像 分层下载Docker的核心 文件系统 docker pull mysql // 下载指定版本的镜像 docker pull mysql:5.7 // 删除镜像 docker rmi -f imageID // 删除所有镜像 docker rmi -f $(docker images -aq)
四、容器命令
4.1 常用命令
docker run [可选参数] imageid --name="名字" tomcat01 tomcat02 -d 后台方式运行 -it 进入容器交互运行 -p 主机端口:容器端口 指定容器端口
4.2 运行centos镜像
docker pull centos docker run -it centos /bin/bash
// 列出所有运行的Docker docker ps // 删除容器 docker rm 容器ID // 强制删除所有,包括运行的容器 docker rm -f $(docker ps -aq)
4.3 Docker容器启动停止
docker start 容器ID docker restart 容器ID docker stop 容器ID docker kill 容器ID
4.4 日志,元数据,进程
// 后台运行 docker run -d 镜像名/镜像ID // 查看日志 docker logs -t -f --tail 10 容器ID // 进程信息 docker top 容器ID // 元数据 docker inspect 容器ID
4.5 进入运行容器修改配置
// 1:进入运行容器 docker exec it 容器ID /bin/bash // 2.进入正在运行容器 docker attach 容器ID /bin/bash
4.6 拷贝命令
// 从容器内部拷贝到主机 // 1.进去容器 docker attach 容器ID // 2.需要拷贝的内容 touch test.txt // 3.退出容器 exit // 4. 拷贝到主机 docker cp 容器ID:/home/test.txt /home
五、Docker部署Nginx
docker search nginx docker pull nginx docker images docker run -d --name nginx01 -p:3344:80 nginx docker ps
// 进入容器才可以修改文件配置 重启!!! docker exec -it nginx01 /bin/bash -v 数据卷的技术可以解决
六、Docker部署Tomcat
docker pull tomcat docker run -d -p 8081:8080 --name tomcat01 tomcat
七、Docker部署ES+Kibana
7.1 部署ElasticSearch 7.6.2
// es 端口多 // es 耗内存 // es 的数据一般要放置到安全目录 挂载 docker run -d --name elasticsearch01 -p 9200:9200 -e "discovery.type=single-node" elasticsearch:7.6.2
7.2 【解决卡顿 内存消耗问题】
ES默认启动1G内存,我的阿里云是1核2G内存,这是原因。
// 查看cpu docker stats
// 关闭 docker stop 容器ID // 增加内存限制 docker run -d --name elasticsearch02 -p 9200:9200 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:7.6.2
问题解决!!!
7.3 Docker部署Kibana
问题思考?
可以通过localhost 链接ES吗??