docker基本使用

前言: docker的管理分为两部分, 一部分是镜像的管理, 一部分是容器的管理.

从docker官网pull下来的称为镜像, 镜像运行后会产生容器

在执行查看命令时可加入 --no-trunc参数来显式完整信息.

镜像的管理(命令: docker images)

1. 拉取一个镜像

  docker pull  centos  -- 拉取centos镜像到本地

2. 查询本地所有镜像

  docker images ls     -- 查看所有镜像

  docker images -q       -- 只显式镜像id

  docker inspect id     -- 查看指定id的镜像详细信息

3. 删除镜像

  docker images rm id   -- 删除指定id的镜像

  docker images rm `docker immages -q`  --删除所有镜像

4. 导入导出镜像

  docker images save name > /home/xx.tar  -- 导出name镜像为压缩包

  docker images load -i /home/xx.tar     -- 导入压缩包为一个镜像

5. 给没有tar的镜像打tar

  docker images -tar name:xx id       --给指定id的镜像打标签, name为镜像的新名称, xx是标签. 如果镜像已有tar, 则会生成一个新镜像.

启动一个镜像(两种方式)

1. docker container run -it --name "xx" centos    -- -it为交互式启动centos镜像(启动后会自动进入), --name为给容器设置的名字, 不指定会随机生成一个.

  交互式启动的容器, 会在退出后自动销毁掉. 多用于测试,开发环境

  docker container run -it --name "xx" --rm centos  -- 多加入了--rm参数, 作用是当退出该交互式容器后, 该容器会自动销毁并自动删除, 不留痕迹

 

2. docker container run -d --name "xx" centos    --  以守护方式运行一个容器. container可省略.

  守护式启动的多用于服务类的容器. 启动后默认只能宿主机访问该容器, 其它平台无法访问.

  docker container run -d --name "xx" -p 8080:80 centos  --添加-p参数, 用于指定宿主机端口和容器端口的映射.

 

3. docker container run --restart=always -d --name.........           -- restart=always参数作用, 重启docker后能自动拉起使用该参数启动的容器(默认重启后之前运行的所有容器都挂了)

    方式二: 修改docker配置文件, 添加  "live-restore": true

 

 

容器的管理(docker container, container可省略)

1. 查看一个容器的详细信息:

  docker container inspect name

2. 查看容器

  docker container ls -a    -- 查看所有运行过的容器, 含已销毁的容器, 等价于docker ps -a, 早期的用法

  docker container ls     -- 查看正在运行中的容器.

  docker container ls -a -q   --只查看所有容器的id.

3. 删除销毁的容器

  docker container rm name

        docker rm $(docker ps -q -f status=exited)    --删除所有已退出的容器

4. 重新启动一个销毁的容器

  docker container start -i id    -- -i表示启动后进入该容器

5. 关闭一个运行中的容器

  docker container stop id

6. 连接一个运行中的容器

  docker container attach name    --此种方式只能连接一个, 连接多个时会同步操作

  (可理解为连入原来的bash窗口, 断开了就是彻底断开了)

 

  docker container exec -it name /bin/bash  -- 已子进程方式连接到一个容器, 后边的.bin/bash必不可少

  (可理解为以新bash窗口连接, 断开了一个不影响其它的.)

7. 查看容器中运行的进程信息

  docker container top id    -- 查看id对应容器的进程信息.

  docker container logs id    -- 查看id对应容器的日志信息

  docker container logs -f id    -- 一直监控日志, 等同于linux中的tail -f命令

  docker container logs -tf --tail 10   t表示显式时间戳, --tail可指定查看多少条(倒数)

 8. 所主机与容器之间的文件拷贝

  docker container cp 拷贝谁 到哪里    --涉及到容器时要注意格式: name:路径; 如 ....cp name:/data/file ./file

posted @ 2020-07-30 21:16  叶落kiss  阅读(225)  评论(0编辑  收藏  举报