docker安装
例子centos6.8
- yum install -y epel-release
- yum install -y docker-io
- /etc/sysconfig/docker
- service docker start
- docker version 验证
命令
帮助命令
docker version
docker info
docker --help
镜像命令
- docker images
- -a
- -q
- --digest
- --no-trunc
- docker search [image name]
- -s
- --no-trunc
- --automated
-
docker pull
-
docker rmi -f [images names]
-
docker rmi -f ${docker images -qa}
容器命令
-
docker run [OPTION] IMAGE [CMD] [ARG...]
--name "contain name" -d -i 交互式 -t 伪终端 -P 随机端口映射 -p 端口映射 ip:hostPort:containerPort ip:containerPort hostPort:containerPort containerPort
-
docker ps
-a 所有正在运行的+历史运行的 -l 显示最近创建的容器 -n 显示最近n个创建的容器 -q 静默模式,只显示容器编号 --no-trunc 不截断
-
停止退出 exit / 不停止退出ctrl+P+Q
-
启动容器docker start [container id] docker restart [container id]
-
停止docker stop / docker kill
-
删除容器docker rm
删除多个 docker rm -f ${docker ps -aq}
docker ps -aq| xargs docker rm
-
docker logs -f -t --tail
-
docker top
-
docker inspect查看容器细节
-
进入正在运行的容器docker attach
-
docker exec -t centos ls -l /tmp
-
拷贝容器内文件docker cp [container id]:/tmp/yum.log /root
-
docker镜像commit操作 docker commit提交容器副本
docker commit -a="zzyy" -m="del tomcat docs" cd7e2e5b3e42 atguigu/mytomcat:1.2
Docker镜像加载原理
UnionFS 对文件系统的修改作为一次提交来一层层叠加
对不同的发型版本bootfs基本一样,只需要不同的rootfs
容器数据卷
持久化,数据共享
docker run -it -v /宿主机绝对路径目录:/容器内目录 镜像名
docker run -it -v /宿主机绝对路径目录:/容器内目录:ro 镜像名 只读
docker build -f /mydocker/Dockerfile -t zzyy/centos .
容器间传递共享--volumes-from
docker run -it --name dc01 zzyy/centos
docker run -it --name dc02 --volumes-from dc01 zzyy/centos
====================================================================================
获取
docker pull NAME[:TAG]
docker pull registry.docker-cn.com/library/ubuntu:14.04
查看
docker images
设置标签
docker tag IMAGE_ID REPOSITORY:TAG
查看信息
docker inspect IMAGE_ID
删除镜像
docker rmi REPOSITRY
docker ps -a查看容器,删除镜像前应先删除掉容器docker rm CONTAINS_ID
创建镜像
基于已有镜像的容器
docker commit [options] CONTAINER [REPOSITORY[:TAG]]
- -a, --author=""
- -m, --message=""
- -p, --pause=true 提交时暂停容器运行
基于本地模板导入
eg. cat ubuntu-14.04-minimal.tar.gz |docker import - ubuntu:14.04
存出和载入镜像
docker save , docker load
eg.
- docker save -o ubuntu_14.04.tar ubuntu:14.04
- docker load < ubuntu_14.04.tar
docker load --input ubuntu_14.04.tar
上传镜像
docker push NAME[:TAG]