记录几个docker命令

记录几个docker命令

查看所有已安装镜像

docker images

管理镜像(拉取/删除/查看)

docker pull/rmi/inspect 镜像ID/名称

查看容器

docker ps -a

管理容器 (停止/启动/重启/删除)

docker stop/start/restart/rm 容器ID

进入容器

docker exec -it 容器ID /bin/bash

把文件放到docker的容器里有两种方法
第一种 复制

docker  cp   需要放入的文件  容器ID :/ 要复制过去的目录路径

第二种(挂载)

挂载的意思就是在宿主机上的某个目录被映射到docker某个容器里。
其实就是写容器外的目录,写入容器内的可写层,就是方便开发。

可先在宿主机上创建一个专门存放docker映射的目录(这里是里是以挂载tomcat为例:
先弄个home目录,存放tomcat映射的目录叫mytomcat)
>mkdir home
>cd home
>mkdir mytomcat
>docker run -d -p 8080:8080 --name tomcat -v /home/mytomcat:/usr/local/tomcat/webapps --restart=always tomcat

这时候应该会出错误,取决于你的容器里是否已经存在tomcat,这时候把所有建的tomcat容器删掉就好了。(注:图中①②都需要删除的)
在这里插入图片描述
在这里插入图片描述

运行成功之后,就可以直接把文件放到docker的容器里了,也就是上传到你宿主机所被映射的目录下就可以了。(这里是如何把war包放到tomcat容器里,也就是把war包放到宿主机的 /home/mytomcat/ 下即可)
**

批量删除镜像和容器

**
杀死所有正在运行的容器

docker kill $(docker ps -a -q)

删除所有已经停止的容器

docker rm $(docker ps -a -q)

删除所有未打 dangling 标签的镜

docker rmi $(docker images -q -f dangling=true)

删除所有镜像

docker rmi $(docker images -q)

强制删除 无法删除的镜像

docker rmi -f <IMAGE_ID>
docker rmi -f $(docker images -q)

 ~/.bash_aliases
 
杀死所有正在运行的容器.
alias dockerkill='docker kill $(docker ps -a -q)'
 
 删除所有已经停止的容器.
alias dockercleanc='docker rm $(docker ps -a -q)'
 
删除所有未打标签的镜像.
alias dockercleani='docker rmi $(docker images -q -f dangling=true)'
 
 删除所有已经停止的容器和未打标签的镜像.
alias dockerclean='dockercleanc || true && dockercleani'

导出/导出镜像

一、使用 export 和 import
(1)使用 docker export 命令根据容器 ID 将镜像导出成一个文件。

docker export f299f501774c > hangger_server.tar

(2)上面命令执行后,可以看到文件已经保存到当前的 docker 终端目录下。

导入镜像
(1)使用 docker import 命令则可将这个镜像文件导入进来。

docker import - new_hangger_server < hangger_server.tar

(2)执行 docker images 命令可以看到镜像确实已经导入进来了。

二、使用 save 和 load

1,查看本机的容器
这两个命令是通过镜像来保存、加载镜像文件的。首先我们使用 docker images 命令查看本机所有的镜像。

2,保存镜像
(1)下面使用 docker save 命令根据 ID 将镜像保存成一个文件。

docker save 0fdf2b4c26d3 > hangge_server.tar

(2)我们还可以同时将多个 image 打包成一个文件,比如下面将镜像库中的 postgres 和 mongo 打包:

docker save -o images.tar postgres:9.6 mongo:3.4

3,载入镜像
使用 docker load 命令则可将这个镜像文件载入进来。

docker load < hangge_server.tar

附:两种方案的差别

    特别注意:两种方法不可混用。
    如果使用 import 导入 save 产生的文件,虽然导入不提示错误,但是启动容器时会提示失败,会出现类似"docker:         Error response from daemon: Container command not found or does not exist"的错误。
  1. 1,文件大小不同

        export 导出的镜像文件体积小于 save 保存的镜像
    

    2,是否可以对镜像重命名

        docker import 可以为镜像指定新名称 docker load 不能对载入的镜像重命名
    

    3,是否可以同时将多个镜像打包到一个文件中

        docker export 不支持 docker save 支持
    

    4,是否包含镜像历史

        export 导出(import
        导入)是根据容器拿到的镜像,再导入时会丢失镜像所有的历史记录和元数据信息(即仅保存                容器当时的快照状态),所以无法进行回滚操作。 而
        save 保存(load 加载)的镜像,没有丢失镜像的历史,可以回滚到之前的层(layer)。
    

    5,应用场景不同

        docker export 的应用场景:主要用来制作基础镜像,比如我们从一个 ubuntu
        镜像启动一个容器,然后安装一些软件和进行一些设置后,使用 docker export
        保存为一个基础镜像。然后,把这个镜像分发给其他人使用,比如作为基础的开发环境。 docker save 的应用场景:如果我们的应用是使用
        docker-compose.yml 编排的多个镜像组合,但我们要部署的客户服务器并不能连外网
    

mySql

搭建mysql https://www.cnblogs.com/sablier/p/11605606.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值