docker --- > 镜像、容器

Docker使用国内的源

  1. windows下使用 "everything"软件 查找 daemon.json
  2. 修改为如下:
{
  "registry_mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}

查看images(镜像)

docker images

注: 看见的镜像是已经下载好的,因此在没有网络的情况下也可以用

搜索镜像

docker search 镜像名称
  • 栗子: 搜索centOS
docker search centos

拉取镜像

  • 作用: 从远程仓库中拉取镜像到本地中
  • 语法: docker pull 镜像名称
  • 栗子: 拉取 tutum/centos 镜像到本地
docker pull tutum/centos

删除镜像

  • 按镜像ID删除镜像
docker rmi 镜像ID
  • 删除所有镜像
docker rmi `docker images -q`

注: docker images -q 列出了所有

查看容器

  • 查看正在运行的容器
docker ps
  • 查看所有容器
docker ps -a
  • 查看最后一次运行的容器
docker ps -l
  • 查看停止的容器
docker ps -f status = exited

创建与启动容器

  • 创建容器:
docker run
  • 参数说明:
    -i: 表示运行容器
    -t: 表示容器启动后会进入其命令行.
    -it: 表示容器创建后就能登录进去,即分配了一个伪终端
    –name: 为创建的容器命名
    -v: 表示目录映射关系,可以使用多个 -v 做多个目录或文件映射
    -d: 创建一个守护式容器在后台运行
    -p: 表示端口映射,前面是宿主机端口,后面是容器映射的端口.

  • 语法:交互式方式创建容器

docker run -it --name='容器名称' 镜像名称:标签 /bin/bash
  • 栗子: 创建一个可交互式的centos 7.x 的终端
docker run -it --name=mycentos centos:7 /bin/bash

注:
centos:7在本地images中并不存在,因此会自动从远程仓库中拉取
退回宿主机: exit

  • 语法2: 守护式方式创建容器
docker run -id --name=容器名称 镜像名称:标签
  • 登录守护式容器方式:
docker exec -it 容器名称(或者容器ID) /bin/bash

容器的停止与启动

  • 首先查看容器
docker ps
  • 语法: 停止容器
docker stop 容器名称(或者容器ID)

栗子: 关闭名称为centos2(假设已开启)的容器

docker stop centos2
  • 语法: 启动容器
docker start 容器名称(或者容器ID)

栗子: 打开mycentos(假设存在)容器

docker start mycentos

栗子2: 进入刚才打开的mycentos

docker exec -it mycentos /bin/bash

文件拷贝

  • 语法: 将文件拷贝到容器内
docker cp 需要拷贝的文件或目录 容器名称:容器目录
  • 语法2: 将文件从容器内拷贝出来
docker cp 容器名称:容器目录 需要拷贝的文件或目录

目录挂载

在创建容器的时候,将宿主机的目录与容器内的目录进行映射,这样我们就可以通过修改宿主主机某个目录的文件从而取影响容器

  • 语法: docker run -id -v 宿主机(docker守护进程所在的机器)目录:容器目录 --name 容器名称 镜像名称:标签
  • 栗子: 新建一个守护容器(mycentos3),它使用centos:7的镜像,将本地桌面(C:\Users\Administrator\Desktop\myhtml) 和 容器(/usr/local/myhtml) 之间形成映射
docker run -it --name=mycentos3 -v C:\Users\Administrator\Desktop\myhtml:/usr/local/myhtml centos:7

权限不足,解决方案:
添加如下:

--privileged=true

查看容器ip地址

  • 语法: docker inspect 容器名称(容器ID)
  • 栗子: 查看容器的所有信息
docker inspect mycentos
  • 栗子2: 查看容器(mycentos)的ip地址
docker inspect --format='{{.NetworkSettings.IPAddress}}' mycentos

容器的删除

  • 语法: docker rm 容器名称(容器ID)
  • 栗子: 删除mycentos
docker rm mycentos

注: 容器必须处于暂停状态才能删除

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值