Docker

60 阅读3分钟

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镜像仓库中下载的镜像不能满足我们的要求,此时可以基于这个镜像(基础镜像)封装一个自己的镜像
  1. 更新镜像
    先使用基础镜像创建一个容器,然后对容器进行修改,最后使用commit命令提交为一个新的镜像
    1. 根据基础镜像,创建容器
    docker run --name mytomcat -p 8080:8080 -d tomcat
    
    1. 修改容器
    docker exec -it bcd08edac78d /bin/bash cd webapps/ROOT rm -f index.jsp echo welcome to tomcat > index.html exit
    
    1. 提交为新镜像,语法: docker commit -m="描述消息" -a="作者" 容器id或容器名 镜像名:tag
    docker commit -m="修改默认索引页" -a="吴健集" bcd08edac78d wjj/tomcat:v1
    
    1. 使用新镜像运行容器
    docker run --name tomcat_v1 -p:8080:8080 -d wjj/tomcat:v1
    
  2. 构建镜像
    根据Dockerfile文件来自动构建镜像
    Dockerfile是一个包含创建镜像所有命令的文本文件,使用docker build命令可以根据Dockerfile的内容创建镜像
    1. 创建一个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
    
    1. 构建新镜像,语法: docker build -f Dockerfile文件的路径 -t 镜像名:tag 命令执行的上下文
    docker build -f Dockerfile -t wjj/tomcat:v2 .
    
    1. 使用新镜像运行容器
    docker run -p 9999:8080 -d wjj/tomcat:v2