docker实战

yum upgrade
yum update

yum install -y yum-utils device-mapper-persistent-data lvm2
添加docker稳定版本的yum软件源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum update
yum install -y docker-ce

systemctl status docker
systemctl start docker

Docker镜像
查找镜像 搜索Docker Hub官方仓库中的镜像
docker search --filter=is-official=true nginx

获取镜像
docker pull centos:7  = docker pull registry.hub.docker.com/centos:7
非官方
docker pull hub.c.163.com/centos:7

查看镜像信息
docker images

镜像标签
docker tag mycentos:7 centos:7 
id相同 相当于别名

镜像详细信息
docker inspect centos:7

镜像历史
docker history centos:7

删除镜像
docker rmi tag  删除最后一个标签时 会真的删除镜像文件
docker rmi id 直接删除镜像文件
注意点 该镜像有创建的容器存在时,镜像文件无法被删除 (1) docker rmi -f tag  (2)docker rm containerid 先删除依赖该镜像的所有容器再删除镜像

清理镜像
docker image prune -f 会提示释放的空间

查看容器
docker ps -a

创建镜像
基于已有容器
docker commit -m "add new iamge" -a "Docker Newbee" cfcbd21dd2b7 test:1
docker commit -m "" -a "" containerid newTag

基于本地模板导入
cat *.tar.gz | docker import - tag

基于Dockerfile创建(https://www.runoob.com/docker/docker-dockerfile.html) 常用
FROM nginx
RUN echo '这是一个本地构建的nginx镜像' > /usr/share/nginx/html/index.html

FROM centos
RUN yum install wget
RUN wget -O redis.tar.gz "http://download.redis.io/releases/redis-5.0.3.tar.gz"
RUN tar -xvf redis.tar.gz
以上执行会创建 3 层镜像。可简化为以下格式:
FROM centos
RUN yum install wget \
    && wget -O redis.tar.gz "http://download.redis.io/releases/redis-5.0.3.tar.gz" \
    && tar -xvf redis.tar.gz
如上,以 && 符号连接命令,这样执行后,只会创建 1 层镜像。

在 Dockerfile 文件的存放目录下,执行构建动作。
以下示例,通过目录下的 Dockerfile 构建一个 nginx:v3(镜像名称:镜像标签)。
docker build -t nginx:v3 .
注:最后的 . 代表本次执行的上下文路径
上下文路径,是指 docker 在构建镜像,有时候想要使用到本机的文件(比如复制),docker build 命令得知这个路径后,会将路径下的所有内容打包。
解析:由于 docker 的运行模式是 C/S。我们本机是 C,docker 引擎是 S。实际的构建过程是在 docker 引擎下完成的,所以这个时候无法用到我们本机的文件。这就需要把我们本机的指定目录下的文件一起打包提供给 docker 引擎使用。
如果未说明最后一个参数,那么默认上下文路径就是 Dockerfile 所在的位置。
注意:上下文路径下不要放无用的文件,因为会一起打包发送给 docker 引擎,如果文件过多会造成过程缓慢。

存出镜像
docker save -o *.tar tag
载入镜像
docker load -i *.tar

上传镜像
push上传到Docker Hub 官方仓库
注册登录
docker tag oldtag newtag
docker push newtag

Docker容器
-i 标准输入
-t 伪终端
-d 后台运行


创建容器
新建容器
docker create -it centos:7
启动容器
docker start containerid 
创建并启动容器
docker run centos:7 /bin/bash 'hello world'
docker run -it centos:7 /bin/bash
守护态运行
docker run -d centos /bin/sh -c "commands"
查看容器输出
docker logs containerid

停止容器
暂停容器
docker run --name test --rm -it centos:7 bash
docker pause test
docker unpause test (恢复)
docker pause/unpause containerid
终止容器 exited
docker stop containerid (首先向容器发送sigterm信号 --time等待默认10s 再发送sigkill信号)
docker container prune 自动清除所有停止状态容器
docker kill containerid 直接终止容器   
docker restart containerid 重启容器

进入容器
docker attach containerid  多窗口同容器 同步显示阻塞
docker exec -it containerid /bin/bash

删除容器
docker rm containerid 删除终止或退出状态的容器
-f强制删除 -l仅删除容器的连接 -v删除容器挂载的数据卷

导出和导入容器
docker export -o *.tar containerid
docker import *.tar  - tag

查看容器
查看容器详情
docker inspect containerid
查看容器内进程
docker top containerid
查看当前运行容器统计信息
docker stats

复制文件
docker cp file containerid:path
查看变更
docker diff containerid
查看端口映射
docker port containerid
更新配置
docker update

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值