Docker基本使用

介绍

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

Docker的应用场景

  • Web 应用的自动化打包和发布。
  • 自动化测试和持续集成、发布。
  • 在服务型环境中部署和调整数据库或其他的后台应用。
  • 从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。

Docker 的优点

  • 1、简化程序:
    Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,便可以实现虚拟化。Docker改变了虚拟化的方式,使开发者可以直接将自己的成果放入Docker中进行管理。方便快捷已经是 Docker的最大优势,过去需要用数天乃至数周的 任务,在Docker容器的处理下,只需要数秒就能完成。
  • 2、避免选择恐惧症:
    如果你有选择恐惧症,还是资深患者。那么你可以使用 Docker 打包你的纠结!比如 Docker 镜像;Docker 镜像中包含了运行环境和配置,所以 Docker 可以简化部署多种应用实例工作。比如 Web 应用、后台应用、数据库应用、大数据应用比如 Hadoop 集群、消息队列等等都可以打包成一个镜像部署。
  • 3、节省开支:
    一方面,云计算时代到来,使开发者不必为了追求效果而配置高额的硬件,Docker 改变了高性能必然高价格的思维定势。Docker 与云的结合,让云空间得到更充分的利用。不仅解决了硬件管理的问题,也改变了虚拟化的方式。

使用(Centos7)

  • 检查内核版本 uname -r 必须在3.10及以上
  • 安装Docker yum install docker
  • 启动 Systemctl start docker
  • 开机自动启动 Systemctl enable docker

常用操作

操作 命令 说明
检索 docker search 关键字
eg:docker search redis
去docker hub上检索镜像的详细信息,例如镜像的TAG。
拉去 docker pull 镜像名:tag :tag是可选的,tag表示标签为软件的版本,默认为latest
列表 docker images 查看所有本地镜像
删除 docker rmi image-id 删除指定的本地镜像

容器操作

操作 命令 说明
运行 docker run –name container-name -d image-name
eg:docker run –myredis -d redis
–name 自定义容器名
-d后台运行
image-name 指定运行镜像模板
列表 docker ps(查看运行的容器) 加上-a 可以查看所有容器
停止 docker stop container-name/container-id 停止当前运行的容器
启动 docker start container-name/container-id 启动容器
删除 docker rm container-id 删除指定容器
端口映射 -p 8080:8080
eg:docker run -d -p 8080:8080 –name myredis
-p:主机端口映射到容器内部的端口
容器日志 docker logs container-name/container-id -f -d -f -d持续查询
更多命令 https://hub.docker.com/_/tomcat tomcat的命令
进入容器 docker exec -it container-id/container-name bash

Linux常用查询命令

netstat命令各个参数说明如下:

-a:列出所有网络状态,包括 Socket 程序;
-c秒数:指定每隔几秒刷新一次网络状态;
-n:使用 IP 地址和端口号显示,不使用域名与服务名;
-p:显示 PID 和程序名;
-t:显示使用 TCP 协议端口的连接状况;
-u:显示使用 UDP 协议端口的连接状况;
-I:仅显示监听状态的连接;
-r:显示路由表;
即可显示当前服务器上所有端口及进程服务,于grep结合可查看某个具体端口及服务情况··

netstat -ntlp //查看当前所有tcp端口·

netstat -ntulp |grep 80 //查看所有80端口使用情况·

netstat -anp | grep 3306 //查看所有3306端口使用情况·

查看一台服务器上面哪些服务及端口

netstat -lanp

查看一个服务有几个端口。比如要查看mysqld

ps -ef |grep mysqld

查看某一端口的连接数量,比如3306端口

netstat -pnt |grep :3306 |wc

查看某一端口的连接客户端IP 比如3306端口

netstat -anp |grep 3306
www.qiuduge.com 秋读阁
netstat -an 查看网络端口

lsof -i :port,使用lsof -i :port就能看见所指定端口运行的程序,同时还有当前连接。

mysql出现Client does not support authentication protocol requested by server ;consider upgrading mysql client;

参考https://blog.csdn.net/qq_22211217/article/details/80415248

mysql linux查询乱码

set character_set_results=utf8