Docker 基础入门篇(下)

目录

1.Docker 常用命令

 2.Docker容器数据卷

 3.DockerFile配置文件解析

4.从容器创建一个新的镜像


1.Docker 常用命令

1.1 镜像命令

docker images [options]  列出本地主机上的镜像
    [options] 可选参数:
        -a:列出本地所有镜像(含中间映像层)
        -q:只显示镜像ID
        --no-trunc:显示完整的镜像信息

docker search 某个镜像的名称    从仓库中搜索需要的镜像
        搜索镜像的网站:https://hub.docker.com/ 第一次使用注册账户
        [options] 可选参数:
            -s:列出收藏数不小于指定值的镜像

docker pull 镜像名称[:tag]    拉取镜像到本地
        注意:tag不敲的情况下默认下载latest最新版本

docker rmi 某镜像的名字ID    删除某个镜像
        -f:强制删除
        删除多个镜像:docker rmi -f 镜像名1:tag 镜像名2:tag 以此类推
        删除全部镜像: docker rmi -f $(docker image -qa) 
        

1.2容器命令 w1

前提:拥有镜像后,才能创建容器

docker run [option] 镜像名 [command]     运行一个容器
    option常用参数:
        -i: 以交互模式运行容器,通常与 -t 同时使用
        -t: 为容器重新分配一个tty伪终端,通常与 -i 同时使用
        -d: 后台运行容器,并返回容器ID,也即启动守护式容器
        -p: 指定端口映射,常用格式 hostPort:containerPort  即主机端口:容器端口
        -P :随机分配一个端口映射
        --name 容器新名称:   为容器指定一个名称
        -h 主机名称: 容器下新的主机名称
    command:
        运行一个命令,最常见的就是 /bin/bash

docker ps [option]    列出正在运行的容器
    option常用参数:
        -a :列出当前所有正在运行的容器+历史上运行过的
        -q :静默模式,只显示容器编号。
        -l :显示最近创建的容器
        -n :显示最近创建的n个容器

两种退出容器的方法
        1.exit 退出并停止掉容器
        2.ctrl+P+Q 退出但不停止容器,相当于由前台运行转到后台运行

docker start/stop/restart/kill 容器ID/容器名    启动/停止/重启/强制停止容器

关于后台-d启动容器,需要注意的地方。
Docker容器后台运行,就必须有一个前台进程.
容器运行的命令如果不是那些一直挂起的命令(比如运行top,tail),就是会自动退出的。

docker logs -tf 容器ID    查看某个容器下的运行日志

docker inspect 容器ID     查看某个容器的详细信息

docker exec -it 容器ID /bin/bash    命令行交互方式进入正在运行的容器里面(启动一个新的进程)

docker attach 容器ID    再次进入运行的容器中(还是原来的进程)

docker cp [OPTIONS] 容器ID:SRC_PATH DEST_PATH 宿主机从容器中拷贝单个文件
        option参数: -r  批量复制,直接拷贝文件夹即可

docker rm 容器ID    删除某个指定的容器
docker rm -f $(docker ps -aq)    强制删除所有容器

 2.Docker容器数据卷

假如没有容器数据卷,某容器里面正好跑着mysql服务,一旦容器关闭或者误删除会导致数据丢失,日志错误,等等非常严重的后果。

解决的问题:容器持久化、多容器以及宿主机之间实现数据共享、容器继承

 数据卷挂载    docker run -it -v 宿主机绝对路径:容器内目录   镜像名

 在宿主机上查看是否成功挂载   docker  inspect   容器ID

 

 此时文件存放在宿主机中,不会随着容器的关闭或者删除而丢失。

 还有一种是通过编写Dockerfile文件,在构建镜像时就提前设定好匿名挂载目录

参考链接:https://blog.csdn.net/qq32933432/article/details/120944205

VOLUME["/dataVolumeContainer","/dataVolumeContainer2","/dataVolumeContainer3"]

 3.DockerFile配置文件解析

 Dockerfile 是用来构建Docker镜像的构建文件,是由一系列命令参数构成的脚本

构建一个镜像的流程

1.编写Dockerfile文件

2.docker build 构建出新的镜像文件

3.docker run  通过新的镜像运行自定义的容器

官方文档编写dockerfile https://docs.docker.com/engine/reference/builder/

Dockerfile关键字说明
关键字用途
FROM继承的基础镜像,空镜像scratch
RUN执行命令并创建新的镜像层,通常用于安装软件包
CMD设置容器启动后默认执行的命令及其参数,但CMD设置的命令能够被docker run命令后面的命令行参数替换。多个CMD只执行最后一个。
ENTRYPOINT配置容器启动时的执行命令(不会被忽略,一定会被执行,即使运行 docker run时指定了其他命令)
ADD添加文件,支持url,解压缩。加强版的copy
COPY添加本地文件,但构建出的镜像比ADD构建出来的小
EXPOSE暴露端口
WORKDIR指定容器登录后的默认路径
ENV设定环境变量
VOLUME创建一个具有指定名称的挂载点,并将其标记为保存来自本机主机或其他容器的外部挂载卷
USER指定运行镜像时的用户或者组
MAINTAINER声明作者名字和邮箱地址

 Dockerfile编写的案例1:

案例2:

编写Dockerfile完成后。通过dockerfile来构建镜像

docker build [OPTIONS] PATH | URL |   构建镜像
        option常用参数:
            -f :指定要使用的Dockerfile路径
            -t: 镜像的名字及标签,通常 name:tag 或者 name 格式
            -q :安静模式,成功后只输出镜像 ID 

方式一:使用当前目录的 Dockerfile 创建镜像,标签为 wxy/ubuntu:v1

docker  build   -t   wxy/ubuntu:v1    注意最后有个点

方式二:使用/etc/docker/Dockerfile文件来创建镜像,标签wxy/ubuntu:v1

 docker build  -f  /etc/docker/Dockerfile  -t  wxy/ubuntu:v1  .

方式三:使用URL github.com/creack/docker-firefox 的 Dockerfile 创建镜像

docker build  github.com/creack/docker-firefox  -t  wxy/ubuntu:v1

先通过docker images 查看镜像是否存在 。再运行容器测试自己的镜像是否可用。

4.从容器创建一个新的镜像

使用场景:在运行的容器中,并在镜像的基础上做了一些修改,我们希望保存起来,封装成一个新的镜像,方便我们以后使用,也就是提交容器副本,使之成为一个新的镜像。

将容器打包成新的镜像

docker commit -a "作者" -m "简要说明" 容器ID  想要打包成的镜像名称:版本号 

如需把容器提交到阿里云仓库请参考这篇链接:

docker 打包 镜像,并上传到阿里云镜像仓库_会飞的小蜗的博客-CSDN博客_docker打包镜像

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值