容器与镜像的关系类似于面向对象编程中的对象与类。
Docker | 面向对象 |
---|---|
容器 | 对象 |
镜像 | 类 |
列出docker的命令帮助,在docker xx
后面 加上 --help
可以查看具体的命令用法和参数注解
1 | docker --help |
列出所有镜像:
1 | docker images -a |
获取一个新的ubuntu 13.10版本镜像
1 | docker pull ubuntu:13.10 |
查找centos镜像
1 | docker search centos |
删除ubuntu镜像
1 | docker rmi ubuntu |
创建镜像
1、从已经创建的容器中更新镜像,并且提交这个镜像
2、使用 Dockerfile 指令来创建一个新的镜像
code | 操作 | 备注 |
---|---|---|
docker ps |
查看正在运行的容器 | |
docker ps -s -a |
查看当前所有容器 | |
docker stop 容器名称 |
停止容器 | |
docker restart 容器名称 |
重启容器 | |
docker kill 容器名称 |
杀死容器 | |
docker rm -f 镜像ID或者镜像名 |
删除已经停止的容器 | |
docker run [OPTIONS] IMAGE [COMMAND] [ARG...] |
运行容器 | |
docker run --name mynginx -d nginx:latest |
使用docker镜像nginx:latest以后台模式启动一个容器,并将容器命名为mynginx。 |
- OPTIONS说明:
- -a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
- -d: 后台运行容器,并返回容器ID;
- -i: 以交互模式运行容器,通常与 -t 同时使用;
- -P: 随机端口映射,容器内部端口随机映射到主机的端口
- -p: 指定端口映射,格式为:主机(宿主)端口:容器端口
- -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
- –name=”nginx-lb”: 为容器指定一个名称;
- –dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
- –dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
- -h “mars”: 指定容器的hostname;
- -e username=”ritchie”: 设置环境变量;
- –env-file=[]: 从指定文件读入环境变量;
- –cpuset=”0-2” or –cpuset=”0,1,2”: 绑定容器到指定CPU运行;
- -m :设置容器使用内存最大值;
- –net=”bridge”: 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
- –link=[]: 添加链接到另一个容器;
- –expose=[]: 开放一个端口或一组端口;
- –volume , -v: 绑定一个卷
运行一个新容器,映射至5600端口,挂载目录
1 | docker run -dit -v $PWD/ql/config:/ql/config -v $PWD/ql/log:/ql/log -v $PWD/ql/db:/ql/db -v $PWD/ql/repo:/ql/repo -v $PWD/ql/raw:/ql/raw -v $PWD/ql/scripts:/ql/scripts -v $PWD/ql/jbot:/ql/jbot -p 5600:5600 --name qinglong --hostname qinglong --restart always whyour/qinglong:latest |
docker镜像管理命令
查看本地镜像
docker images #查看当前机器的所有镜像
docker images –q # 查看所用镜像的id
docker search 镜像名称 #搜索镜像,网络中查找需要的镜像
docker pull 镜像名称 #从Docker仓库拉取镜像,名称:版本号
docker push 镜像名称 #推送镜像
docker rmi 镜像名称/镜像id #删除本地机器的镜像
docker rmi docker images -q # 删除所有本地镜像
docker tag 镜像名称:tag 镜像名称:tag #为一个镜像打tag
docker save {image_name} > {new_image_name}.tar #镜像打包成一个tar包
docker load < {image_name}.tar #解压一个镜像tar包
docker查看日志信息
docker logs -f 容器名称 #查看容器日志
docker info #查看docker服务的信息
docker inspect 容器名称 # 获取镜像的元信息,详细信息
与容器交互的命令
进入正在运行的容器
docker exec -it 容器ID或者容器名 /bin/bash
exec的意思是在容器中运行⼀个命令。 /bin/bash是固有写法,作用是因为docker后台必须运行一个进程,否则容器就会退出,在这里表示启动容器后启动 bash。
退出容器
exit #退出也关闭容器;
Ctrl+P+Q #退出不关闭容器
创建启动容器时,使用–v参数设置数据卷
docker run … –v 宿主机目录/文件:容器内目录/文件
数据卷宿主机的一个目录或文件
目录必须是绝对路径
如果目录不存在,会自动创建
可以挂载多个数据卷
拷贝文件
docker cp 主机文件路径 容器ID或容器名:容器路径 #宿主机文件拷贝到容器中
docker cp 容器ID或容器名:容器路径 主机文件路径 #容器文件拷贝到宿主机中
Update your browser to view this website correctly.&npsb;Update my browser now