Docker安装和使用
1. 虚拟化技术
虚拟化技术指的是软件层面实现虚拟化的技术。
虚拟机:VMware、VirtualBox。虚拟机通常包括整个操作系统和应用程序,里面运行的是一个真实的操作系统。
JVM:是Java编程语言的虚拟机,它是Java程序的运行环境,虚拟硬件架构(如处理器、堆栈、寄存器等),具有相应的指令系统。
应用程序虚拟化:例如容器技术Docker,解决了易用性问题。还有Kubernetes等。
网络虚拟化:例如VPN、VMware NSX等。
2.认识Docker
Docker是基于Go语言实现的开源容器项目。
Docker属于操作系统级虚拟化,比虚拟机更轻量。
重点理解镜像、仓库、容器几个概念。
(1)镜像(Image):应用程序及其运行时环境全部打包到一个Dockerfile文件中。
镜像是静态的只读文件,是创建容器的基础。
运行容器前需要本地存在对应的镜像(如果没有,Docker会尝试从默认的镜像仓库下载)。
(2)仓库(Repository):存放镜像文件的地方。
(3)容器(Container):镜像的一个运行实例。
应用场景:编程语言、数据库、缓存系统、消息队列...
3.相关命令
安装Docker:curl -sSL https://get.daocloud.io/docker | sh
启动Docker:systemctl start docker
查找镜像:docker search [image-name]
拉取镜像:docker pull [image-name]
运行镜像启动容器:docker run -itd -p [port:port] --name [容器名] [镜像名]
进入容器: docker exec -it [容器别名] /bin/bash
4.Docker安装卸载
4.1 安装Docker
curl -sSL https://get.daocloud.io/docker | sh
如果报错No Presto metadata available for base No Presto metada,则执行yum clean all后重新安装。
启动 Docker
systemctl start docker
测试
docker run hello-world
4.2 卸载Docker
yum remove docker-ce
rm -rf /var/lib/docker
5.使用Docker
以MySQL和RabbitMQ为例。
5.1安装MySQL
(1)拉取mysql:
docker pull mysql:latest
(2)查看镜像:
docker images
(3)运行容器(运行后即可使用navicat等客户端连接了):
docker run -itd -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysql-latest mysql:latest
(4)进入容器
docker exec -it mysql-latest /bin/bash
(5)退出容器
exit
5.2 安装rabbitmq
(1)查找镜像
docker search rabbitmq
(2)安装镜像(直接安装最新的)
docker pull rabbitmq 或
docker pull rabbitmq:management
(4)进入容器
进入rabbitmq这个容器中,可执行rabbitmq命令
5.3 安装Java8
(1)查找java:8镜像
docker search java:8
(2) 拉取镜像
docker pull java:8
(3) 运行容器
docker run -d java:8
6.更多命令
查看镜像
docker images
删除镜像
docker rmi <image id>
停止、启动、杀死、重启一个容器
docker stop Name或者ID docker start Name或者ID docker kill Name或者ID docker restart name或者ID
删除容器
docker rm Name
删除所有停止的容器
docker rm $(docker ps -a -q)