简介
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。
Docker支持将软件编译成一个镜像;然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像。运行中的这个镜像称为容器,容器启动是非常快速的。类似windows里面的ghost操作系统,安装好后什么都有了;
Docker核心概念
docker镜像(Images):Docker 镜像是用于创建 Docker 容器的模板。
docker容器(Container):容器是独立运行的一个或一组应用。
docker客户端(Client):客户端通过命令行或者其他工具使用DockerAPI(https://docs.docker.com/reference/api/docker_remote_api)与 Docker 的守护进程通信。
docker主机(Host):一个物理或者虚拟的机器用于执行Docker 守护进程和容器。
docker仓库(Registry):Docker 仓库用来保存镜像,可以理解为代码控制中的代码仓库。DockerHub(https://hub.docker.com) 提供了庞大的镜像集合供使用。
Docker安装
1、查看CentOS版本Docker 要求 CentOS 系统的内核版本高于 3.10
uname -r3.10.0-693.2.2.el7.x86_64
2、如果不够可以升级(选做)
yum update
3、安装docker
yum install docker
4、启动docker
systemctl start docker
5、查看版本
docker -vDocker version 1.13.1, build 64e9980/1.13.1
6、设置下次开机启动
systemctl enable dockerCreated symlink from etc/systemd/system/multi-user.target.wants/docker.service to usr/lib/systemd/system/docker.service.
常用命令
1、查询
docker search mysqlINDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATEDdocker.io docker.io/mysql MySQL is a widely used, open-source relati... 9650 [OK]docker.io docker.io/mariadb MariaDB is a community-developed fork of M... 3510 [OK]docker.io docker.io/mysql/mysql-server Optimized MySQL Server Docker images. Crea... 704 [OK]docker.io docker.io/centos/mysql-57-centos7 MySQL 5.7 SQL database server 77docker.io docker.io/mysql/mysql-cluster Experimental MySQL Cluster Docker images. ... 70docker.io docker.io/centurylink/mysql Image containing mysql. Optimized to be li... 61 [OK]docker.io docker.io/bitnami/mysql Bitnami MySQL Docker Image 42 [OK]docker.io docker.io/deitch/mysql-backup REPLACED! Please use http://hub.docker.com... 41 [OK]docker.io docker.io/tutum/mysql Base docker image to run a MySQL database ... 35docker.io docker.io/schickling/mysql-backup-s3 Backup MySQL to S3 (supports periodic back... 30 [OK]docker.io docker.io/prom/mysqld-exporter 28 [OK]docker.io docker.io/linuxserver/mysql A Mysql container, brought to you by Linux... 25docker.io docker.io/databack/mysql-backup Back up mysql databases to... anywhere! 22docker.io docker.io/centos/mysql-56-centos7 MySQL 5.6 SQL database server 19docker.io docker.io/circleci/mysql MySQL is a widely used, open-source relati... 19docker.io docker.io/mysql/mysql-router MySQL Router provides transparent routing ... 16docker.io docker.io/arey/mysql-client Run a MySQL client from a docker container 14 [OK]docker.io docker.io/fradelg/mysql-cron-backup MySQL/MariaDB database backup using cron t... 7 [OK]docker.io docker.io/openshift/mysql-55-centos7 DEPRECATED: A Centos7 based MySQL v5.5 ima... 6docker.io docker.io/genschsa/mysql-employees MySQL Employee Sample Database 5 [OK]docker.io docker.io/devilbox/mysql Retagged MySQL, MariaDB and PerconaDB offi... 3docker.io docker.io/ansibleplaybookbundle/mysql-apb An APB which deploys RHSCL MySQL 2 [OK]docker.io docker.io/jelastic/mysql An image of the MySQL database server main... 1docker.io docker.io/monasca/mysql-init A minimal decoupled init container for mysql 0docker.io docker.io/widdpim/mysql-client Dockerized MySQL Client (5.7) including Cu... 0 [OK]
2、拉取镜像
docker pull mysq
3、查看镜像
docker images
4、删除镜像
docker rmi image id
5、运行镜像(此时外部无法访问,要做端口映射才可以,下面讲到)
docker run --name 自己起个容器名字 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:标签(TAG
6、查看运行的容器
docker ps
7、停止运行容器
docker stop container id 或者(or) names
8、删除容器
docker rm container-id
9、接口映射
docker run --name 自己起个容器名字 -d mysql:标签(TAG)-p 3306:3306
10、如有防火墙问起请参考linux装mysql文章
11、查看容器日志
docker logs container-name/container-id




