docker(一) 基本概念和操作
docker是什么
讲的很清楚了,可以参考博客:Docker 入门教程 - 阮一峰的网络日志 (ruanyifeng.com)
也可以参考官网:Empowering App Development for Developers | Docker
主要特性包括:
1.方便在同一主机上配置不同的环境,相互之间不影响。(微服务)
2.和虚拟机不同,该技术不模拟硬件,所以开销比较小。
3.随时开关随时删除,也很利于迁移。
docker怎么用
docker的使用着实是非常简单,基本操作大概就这些:【随缘画图,是真丑啊。。】
基础概念
镜像是docker的核心,就可以简单理解为一份光碟。这个光碟可以从docker的库中,也就是仓库中下载。仓库中包含了各路大神制作的光碟,白嫖党可以直接用pull把光碟白嫖下来。tar文件类似于压缩包,主要是用来保存的。容器相当于光碟解压出来的程序,每个容器都都一个独立的工作区域,可以独立运行了。这么一想还是挺好理解的。
基本操作
图示中的几个操作就是基本操作了。备注:所有id可以只输id开头,可以输别名,都行。。
镜像相关
从仓库下载镜像:
Docker pull [包]:[版本,默认latest]
例如:docker pull wordpress:latest
查看本地有哪些镜像
docker images
指定镜像的名字
Docker commit [id] [name]
把镜像保存为tar文件
docker save 【镜像名称】> 【名称】.tar
把tar文件解压回镜像
docker load 【名称】.tar > 【镜像名称】
运行镜像(运行完变成容器)
docker run -d 【demon后台运行】
-p 80:80【指定具体端口,外部端口:内部端口,内部端口不可修改】
--name 指定容器运行起来的名字
-v 【映射文件比如将当前目录映射到别的目录下,比如mysql/】
【最后】镜像的名字
例如:docker run -d -p 80:80 --name -v mysql
另一个常用的运行方式是交互式运行。-i
代表以交互式模式运行,-t
代表以交互式运行容器,一般合起来使用-it
指定别的外部端口(公用同一个内部端口)
docker run -d -p 81:80 [镜像名称]
删除镜像
docker rmi [镜像id]
#### 容器相关
查看正在运行的容器
docker ps
查看所有容器
docker ps -a
中止容器(需要按照顺序中止,否则报错)
docker stop [容器id] //在一定时间内中止,可设置时间
docker stop [容器id] -t=60s //60s内中止容器
docker kill [容器id] //直接杀死容器
删除容器
docker rm [容器id]
进入容器中(比如进入sql容器进行修改)。进入了容器就相当于进入了独立的空间,想怎么搞怎么搞,反正不影响外面。
docker exec -it [容器id] bash
大概就这些吧,build之类的放在之后一起整理好了。
结尾
感觉基本操作大概就这些,接下来就是docker-compose的使用了。