Docker
Docker操作
镜像操作
| 操作 | 命令 | 说明 |
|---|
| 查找 | docker search 关键字 | 可以在Docker Hub网站查看镜像的详细信息,如镜像的tag标签 |
| 抽取 | docker pull 镜像名:tag | :tag表示软件的版本,如果不指定默认是latest |
| 列表 | docker images | 查看所有本地镜像 |
| 获取元信息 | docker inspect 镜像id | 获取镜像的元信息,详细信息 |
| 删除 | docker rmi -f 镜像id或镜像名:tag | 删除指定的本地镜像,-f表示强制删除 |
容器操作
| 操作 | 命令 | 说明 |
|---|
| 运行 | docker run --name 容器名 -i -t -p 主机端口:容器端口 -d -v 主机目录:容器目录:ro 镜 像id或镜像名称:tag | --name 指定容器名,名称自定义,如果不指定会自动命名; -i 以交互模式运 行,即以交互模式运行容器;-t 分配一个伪终端,即命令行,通常组合使用-it ;-p 指定端口映射,将主机端口映射到容器内的端口;-d 表示后台运行,即守 护式运行容器;-v 指定挂载主机目录到容器目录,默认为rw读写模式,ro表示 只读 |
| 列表 | docker ps -a -q | 查看正在运行的容器,-a表示显示所有容器,-q表示只显示容器id |
| 启动 | docker start 容器id或容器名称 | 启动容器 |
| 停止 | docker stop 容器id或容器名称 | 停止正在运行的容器 |
| 删除 | docker rm -f 容器id或容器名称 | 删除容器,-f表示强制删除 |
| 日志 | docker logs 容器id或容器名称 | 获取容器的日志 |
| 在容器中执行 | docker exec -it 容器id或容 器名称 /bin/bash | 进入正在运行的容器中并开启一个交互模式的终端,可以在容器中执行操作 |
| 拷贝文件 | docker cp 主机中的文件路 径 容器id或容器名称:容器路 径;docker cp 容器id或容器 名称:容器中的文件路径 主 机路径 | 将文件中的文件拷贝到容器中;将容器中的文件拷贝到主机中 |
| 获取元信息 | docker inspect 容器id | 获取容器的元信息 |
创建镜像
有时从Docker镜像仓库中下载的镜像不能满足我们的要求,此时可以基于这个镜像(基础镜像)封装一个自己的镜像
- 更新镜像
先使用基础镜像创建一个容器,然后对容器进行修改,最后使用commit命令提交为一个新的镜像
- 根据基础镜像,创建容器
docker run --name mytomcat -p 8080:8080 -d tomcat
- 修改容器
docker exec -it bcd08edac78d /bin/bash cd webapps/ROOT rm -f index.jsp echo welcome to tomcat > index.html exit
- 提交为新镜像,语法: docker commit -m="描述消息" -a="作者" 容器id或容器名 镜像名:tag
docker commit -m="修改默认索引页" -a="吴健集" bcd08edac78d wjj/tomcat:v1
- 使用新镜像运行容器
docker run --name tomcat_v1 -p:8080:8080 -d wjj/tomcat:v1
- 构建镜像
根据Dockerfile文件来自动构建镜像
Dockerfile是一个包含创建镜像所有命令的文本文件,使用docker build命令可以根据Dockerfile的内容创建镜像
- 创建一个Dockerfile文件
FROM tomcat
MAINTAINER wjj
RUN rm -f /usr/local/tomcat/webapps/ROOT/index.jsp
RUN echo "welcome to tomcat!" > /usr/local/tomcat/webapps/ROOT/index.html
- 构建新镜像,语法: docker build -f Dockerfile文件的路径 -t 镜像名:tag 命令执行的上下文
docker build -f Dockerfile -t wjj/tomcat:v2 .
- 使用新镜像运行容器
docker run -p 9999:8080 -d wjj/tomcat:v2