Docker容器和镜像的简单使用

一、Docker

#直接输入 docker 命令来查看到 Docker 客户端的所有命令选项
docker 
# 深入的了解指定的 Docker 命令使用方法 
docker  command  --help 

二、Docker中镜像和容器的关系

先有的镜像,才能创建容器:在镜像的基础上创建一个容器
容器 = 镜像 + 可读写层

三、常用镜像操作命令

# 检索  docker search 关键字
docker search nginx
# 拉取镜像,:tag 是可选的,tag表示标签,多为软件的版本,默认是latest
docker pull 镜像名:tag
# 查看所有本地镜像
docker images 
# 查看所有本地镜像包含历史
docker images -a
# 删除指定的本地镜像
docker rmi image-id

四、常用容器操作命令

# --name 指定容器名,可自定义,不指定自动命名
# -i 以交互模式运行容器 
# -t 分配一个伪终端,即命令行,通常-it组合来使用
# -p 指定映射端口,讲主机端口映射到容器内的端口 
# -d 后台运行容器 
# -v 指定挂载主机目录到容器目录,默认为rw读写模式,ro表示只读
# /bin/bash是固有写法,作用是因为docker后台必须运行一个进程,否则容器就会退出,在这里表示启动容器后启动 bash。
# 使用ubuntu镜像创建容器
docker create -it ubuntu
# 运行
docker run --name 容器名 -i -t -p 主机端口:容器端口 -d -v 主机目录:容器目录:ro 镜像ID或镜像名:TAG
# 使用ubuntu镜像创建并启动容器,并进入该容器
docker run -it  ubuntu /bin/bash
# 使用ubuntu镜像创建并启动容器,加了-d 默认不会进入该容器
docker run -itd --name  ubuntu-test  ubuntu /bin/bash

# 在使用 -d 参数时,容器启动后会进入后台。此时想要进入容器。
# docker attach  容器ID或容器名:如果从这个容器退出,会导致容器的停止。
# docker exec:推荐使用 docker exec 命令,因为此退出容器终端,不会导致容器的停止。
# docker exec -it  容器ID或容器名 /bin/bash

# 退出该容器
exit
# 查看运行中的容器
docker ps
# 查看所有的容器
docker ps -a
# 启动容器
docker start 容器ID或容器名
# 停止运行中的容器
docker stop 容器ID或容器名
# 重启容器
docker restart 容器ID或容器名
# 删除容器
docker rm -f 容器ID或容器名
# 导出容器
docker export container_id > ubuntu.tar
# 可以使用 docker import 从容器快照文件中再导入为镜像,以下实例将快照文件 ubuntu.tar 导入到镜像 test/ubuntu:v1
cat ubuntu.tar | docker import - test/ubuntu:v1
# 或者也可以通过指定 URL 或者某个目录来导入
docker import http://example.com/exampleimage.tgz example/imagerepo
# 清理掉所有处于终止状态的容器
docker container prune
# 查看日志
docker logs 容器ID或容器名
# 拷贝文件
docker  cp  主机文件路径  容器ID或容器名:容器路径    #主机中文件拷贝到容器中
docker  cp  容器ID或容器名:容器路径  主机文件路径   #容器中文件拷贝到主机中
# 获取容器元信息
docker  inspect  容器ID或容器名

五、Docker生成镜像的两种方式

有时候从Docker镜像仓库中下载的镜像不能满足要求,我们可以基于一个基础镜像构建一个自己的镜像,两种方式:

  • 更新镜像:使用 docker commit 命令
  • 构建镜像:使用 docker build 命令,需要创建Dockerfile文件

1、更新镜像

先使用基础镜像创建一个容器,然后对容器内容进行更改,然后使用 docker commit 命令提交为一个新的 镜像(以tomcat为例)。
(1)根据基础镜像创建容器

 docker run --name testTomcat -p 80:8080 -d tomcat

在这里插入图片描述
在这里插入图片描述
(2)修改容器内容

docker exec -it testTomcat /bin/bash 
cd webapps/ROOT/
rm -f index.jsp 
echo  hello world! > index.html 
exit

在这里插入图片描述
(3)提交为新镜像

docker commit -m="描述消息" -a="作者" 容器ID或容器名 镜像名:TAG
例: docker commit -m="修改了首页" -a="wx" testTomcat wx/tomcat:v1.0

在这里插入图片描述
(4)使用新镜像运行容器

docker run --name wanquan -p 8088:8080 -d wx/tomcat:v1.0

在这里插入图片描述
在这里插入图片描述
本地访问:
在这里插入图片描述
2、使用Dockerfile构建镜像

Dockerfile:Dockerfile 是构建Docker镜像的源代码。

  • Docker可以通过读取Dockerfile中的指令来自动构建图像。
  • Dockerfile是一个文本文档,它包含用户可以在命令行上调用的所有命令来组装一个映像。
  • 使用docker构建,用户可以创建一个连续执行多个命令行指令的自动化构建。

在这里插入图片描述
Dockerfile传送:https://blog.csdn.net/wx2320061619/article/details/103726179

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值