Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
一句话概括容器:容器就是将软件打包成标准化单元,以用于开发、交付和部署。
- 容器镜像是轻量的、可执行的独立软件包 ,包含软件运行所需的所有内容:代码、运行时环境、系统工具、系统库和设置。
- 容器化软件适用于基于 Linux 和 Windows 的应用,在任何环境中都能够始终如一地运行。
- 容器赋予了软件独立性,使其免受外在环境差异(例如,开发和预演环境的差异)的影响,从而有助于减少团队间在相同基础设施上运行不同软件时的冲突。
虚拟机技术缺点:
比较 Docker 和 虚拟机技术的不同:
docker images
docker search mysql
docker pull mysql
,没写 tag 就默认下载最新的 lastestdocker pull mysql:5.7
docker rmi -f 镜像id 镜像id 镜像id
docker run [可选参数] image
docker run -it centos /bin/bash
exit
Ctrl + p + q
docker ps -a
docker rm 容器id
(不能删除运行中的容器)docker rm -f 容器ID
docker start 容器id #启动容器
docker restart 容器id #重启容器
docker stop 容器id #停止当前运行的容器
docker kill 容器id #强制停止当前容器
docker 中 run 和 start 的区别是什么
- docker run 相当于执行了两步操作:将镜像放入容器中(docker create),然后将容器启动,使之变成运行时容器(docker start)。
- docker start 的作用是,重新启动已存在的镜像。
docker run -it centos /bin/bash
docker logs
docker top 容器id
docker inspect 容器id
docker exec -it 容器id /bin/bash
docker attach 容器id
exec 进入容器后开启一个新的终端,可以在里面操作(常用)
attach 进入容器正在执行的终端,不会启动新的进程!
docker cp 容器id:路径 主机路径