docker 1、docker常用命令与Dockerfile

1 docker基础


1.0 精简版命令
查看容器的id:
docker ps|grep <service_name>
查看容器的统计信息(包含cpu和内存使用情况等):
docker stats <container_id>
查看容器的日志信息:
docker logs <container-id>
打包镜像为tar格式文件:
docker save -o xxx.tar [Docker Registry地址]<仓库名>:<标签>
加载镜像:
docker load -i gnocchi-api.tar
删除镜像:
docker rmi <image_id>
删除容器:
docker rm <container_id>
查看镜像列表:
docker images
查看某个组件的镜像,以ceilometer为例
docker images|grep ceilometer
运行镜像:
docker run -it [Docker Registry地址]<仓库名>:<标签> /bin/bash
以root用户运行镜像:
docker run -it -uroot [Docker Registry地址]<仓库名>:<标签>
查看镜像分层信息:
docker history <image_id>
查看容器大小, 将container的文件系统进行打包:
docker export <container_id> -o xxx.tar
拷贝文件到容器中:
docker cp <file_path> <container_id>:<path>
提交容器为新的镜像:
docker commit <container_id> [Docker Registry地址]<仓库名>:<标签>
给镜像重新打标签:
docker tag [Docker Registry地址]<仓库名>:<标签> [Docker Registry地址]<仓库名>:<新标签>

1.1 安装docker
centos环境下:
yum install docker
systemctl enable docker
systemctl start docker
systemctl status docker

另一种安装方式:
配置国内源
sudo yum-config-manager --add-repo https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
安装Docker CE
sudo yum makecache fast
sudo yum install docker-ce
启动Docker CE
sudo systemctl enable docker
sudo systemctl start docker
建立docker用户组
原因:docker命令用socker和Docker通讯,将需要使用的docker用户加入docker用户组
sudo groupadd docker
sudo usermod -aG docker $USER

解释:
groupadd :添加用户组
usermod 命令:修改用户,用户加目录
usermod -aG:追加用户组
$USER : 当前用户

镜像加速:
添加内核参数
sudo tee -a /etc/sysctl.conf <<-EOF
net.bridge.bridge-nf-call-ip6tables    =    1
net.bridge.bridge-nf-call-iptables    =    1
EOF


重新加载
sudo sysctl -p

解释:
/etc/sysctl.conf : 允许改变正在运行中的Linux接口的文件
sysctl -p <filename>  
p:指定路径,再如sysctl配置文件,如果没有指定路径,则加载/etc/sysctl.conf

镜像加速器:
/etc/docker/daemon.json 中写入内容
{
        "registry-mirrors":    [
                "https://registry.docker-cn.com"
        ]
}

重启服务
sudo systemctl daemon-reload
sudo systemctl restart docker


1.2 使用docker镜像
Docker运行容器前需要在本地存在对应镜像,如果本地不存在,会从镜像仓库下载

1.3 管理Docker镜像
1) 列出镜像:
docker images
等同于: docker image ls
镜像ID:是镜像的唯一标识,一个镜像也可对应多个标签
镜像体积:
Docker Hub显示的是压缩后的体积
docker images:显示镜像下载到本地展开后的大小

列出部分镜像:
docker images ubuntu

列出指定名称和标签的镜像
docker images ubuntu:14.04

中间层镜像:
默认只显示顶层镜像,希望包含中间层镜像,需要-a
docker images -a
是其他镜像所依赖的镜像。
 
2) 获取镜像:
docker pull [选项] [Docker Registry地址]<仓库名>:<标签>
解释:
Docker Registry地址: <域名/IP>[:端口号],默认时Docker Hub
仓库名:两段式名称,<用户名>/<软件名>,不给出用户名,
默认为library,也就是官方镜像

示例:
docker pull ubuntu:14.04

4) push镜像
docker pull [选项] [Docker Registry地址]<仓库名>:<标签>
示例:
docker push docker.io/chao/mongo:3.4.9

5) 以镜像为基础启动一个容器来运行。
docker run [option] <仓库>:<标签> 命令

示例: 以bash进行交互式操作
docker run -it -uroot --rm ubuntu:14.04 bash

解释:
docker run [option] <仓库>:<标签> 命令
docker run:运行容器的命令
-it: i交互式操作,t:终端
-uroot: 以root用户身份运行容器
--rm:容器推出后随之将其删除。默认退出容器不会立即删除
ubuntu:14.04 : 是指用ubuntu:14.04镜像为基础来期待哦改容器
bash : 放在镜像名后的是命令,希望交互式Shell&#x

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值