本文主要是前段时间的学习笔记,docker镜像,容器,仓库的一些介绍和常用的一些命令,以及在阿里云上面部署docker并在docker上面部署其他容器。个人学习总结,仅供参考。
推荐B站的docker视频:docker最新入门视频
1、docker的一些用途:
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口
2、基本操作:
删除docker命令:
设置阿里云镜像加速器:
docker中run hello-world是如何启动的?
DOCKER常用命令:
帮助命令:
docker version 显示版本信息
docker info 显示系统信息 包括镜像和容器
docker 命令 -- help 帮助命令
镜像命令:
docker images 查看所有本地的主机镜像
docker search name 搜索镜像
docker pull name 下载镜像
docker pull mysql
docker rmi -f name 删除镜像
容器命令:
docker pull centos 下载镜像
有了镜像才能创建容器:容器可以说是镜像的实例化。(比如类和实例。docker run 就是把类实例化)
docker run [ 参数] image 启动镜像
-d 后台启动
-p 端口号
docker ps 列出运行中的容器:
退出和删除容器:
启动和停止容器的操作:
常用的其他命令:
后台启动:
查看日志:
docker logs
docker logs -f -t --tail 容器
自己编写一段shell脚本测试:
docker run -d centos /bin/sh -c "whlie true;do echo yaotengjian;sleep 2;done"
查看日志中的进程信息:
docker ps
docker top 进程id
查看镜像原数据:
docker inspect
进入当前正在运行的容器:
docker exec -it 20eb3ae0348d /bin/bash 进入容器后开启一个新的终端
docker attach 20eb3ae0348d 进入容器正在执行的终端
容器内容拷贝到主机上:
docker cp id:/路径/文件名 /主机路径
3、docker部署环境练习:
1、docker部署nginx:
(端口暴露的概念)
1 搜索镜像(官网查看相关版本)
2拉取镜像(docker pull nginx)
3 查看镜像(docker images)
3 启动镜像(docker run --name nginx -p 80:80 -d nginx)
5 配置环境(docker exec -it nginx bash /nginx.conf)
思考问题:我们每次需要修改nginx的配置文件,都需要进入docker的内部,这样很麻烦。我们要在容器外部提供一个映射路径,达到在容器修改文件名,容器内部就自动修改? -v数据卷技术。
2、docker部署tomcat:(方式同上)
安装启动:docker run -d -p 8888:8080 tomcat -p 表示是把需拟机的8888端口映射到容器中的8080端口:
进入容器:docker exec -it tomcat /bin/bash docker exec -it id /bin/bash
注:阿里云的镜像默认是最小的镜像,他会把不必要的文件都剔除掉 。保证最小可运行的环境。
3、docker + elk部署日志监控平台:
es + kibana部分:(这一部分后面单独整理)
docker stats或者 docker stats id 查看容器进程状态
4、可视化
1 portainer
2 Rancher (CI/CD)
portainer: Docker图形化管理工具,提供一个后台面板供我们操作。
下载安装:(一般很少用这个)
以上是docker的一些常用命令,关于docker镜像,挂载 数据卷,docker网络,compose配置,swarm集群,docker + k8s等待后续继续补充。