一:首先来理解三个名词解释:
1、镜像(image)
Docker 镜像(Image)就是一个只读的模板。
例如:一个镜像可以包含一个完整的 *** 作系统环境,里面仅安装了 Apache 或用户需要的其它应用程序。镜像可以用来创建 Docker 容器,一个镜像可以创建很多容器。
2、仓库(repository)
仓库(Repository)是集禅尺中存放镜像文件链袭扒的场所。
3、容器(container)
Docker 利用容器(Container)来运行应用。容器是从镜像(Image)创建的运行实例。
二:常用的命令集合如下:
容器生命周期管理 — docker
[run|start|stop|restart|kill|rm|pause|unpause|create]
容器 *** 作运维 — docker
[ps|exec|inspect|top|attach|events|logs|wait|export|import|port]
容器rootfs命令 — docker
[commit|cp|diff]
本地镜像管理 — docker
[images|rmi|tag|build|history|save]
镜像仓库 — docker
[login|pull|push|search]
其他命令 — docker
[info|version]
详细命令说明如下:
docker run -d --name alias-Name imageName //在后台启动一个容器
docker start Name/ID //启动容器
docker stop Name/ID //停止容器
docker restart Name/ID //重启容器
docker kill -s KILL Name/ID //杀死一个运行的容器
docker rm /rm -f Name/ID //删除容器
docker pause Name/ID //停止容器
docker unpause Name/ID //恢复容器
docker create --name CONTAINER_Name imageName //只创建容器但不启动
docker ps / docker ps -a //查看运行的容器
docker exec -it CONTAINER_ID /bin/bash //进行一个运行中的容器,开启一个新的终端
docker attach CONTAINER_ID //进行一个运行中的容器,不开启一个新的终端
docker inspect CONTAINER_Name //查看容器的相关信息
docker top CONTAINER_Name //查看容器里面的进程
docker events -f "image"="imageName" --since="1467302400" //时间戳=2016年7月1日后的相关事件
docker logs CONTAINER_Name //查看容器的日志输出
docker wait CONTAINER_Name //阻塞运行直到容器停止,然后打印出它的退出代码
docker export -o test.tar CONTAINER_ID //将容器进行打包保存到本地,文件类型为tar
cat test.tar |docker import - image_name:tag //将上面保存的文件导入到镜像库中
docker port CONTAINER_ID //查看容器的端口映射情况
commit 从容器中创建一个新的镜像
docker commit -a "tony test" -m "my mysql" CONTAINER_ID mymysql:v1
docker images mymysql:v1
cp 在棚昌使用的过程中会进行多个主机与容器之间的数据交换
docker cp /ruiqi/content CONTAINER_ID:/ruiqi/
diff 用来检查容器里面文件结构的更改
docker diff CONTAINER_ID
docker images /docker images -a //查看本地的镜像,-a 表示是所有的镜像
docker rmi -f image_name //删除镜像
docker tag mysql:v5.6 mysql:v5.7 //给镜像做一个有别名的复本
docker build -t runoob/ubuntu:v1 . //构建一个镜像
docker history image_name //查看当前这个镜像的 历史 信息
docker save -o TestFlask.tar TestFlask:v3 //将当前的镜像保存到本地的一个tar 类型的文件
docker login //登录镜像仓库
docker pull //从镜像仓库中拉镜像
docker push //向镜像仓库推本地的镜像文件
docker search //检索镜像内容
三:利用dockerfile 制作一个tomcat 运行image:
[root@localhost common]# more Dockerfile.tomcat
FROM daocloud.io/centos:7
COPY jdk-8u144-linux-x64.rpm /opt/jdk-8u144-linux-x64.rpm
RUN ["rpm","-ivh","/opt/jdk-8u144-linux-x64.rpm"]
COPY security /usr/java/jdk1.8.0_144/jre/security
COPY certs /etc/pki/tls/certs
COPY tomcat /opt/tomcat
RUN ["ln","-s","/opt/tomcat","/usr/local/tomcat"]
不启动docker服务,会报错:
查看docker容器hash值:
查看docker ps完整命令:
然后可以根据contnainer id打开docker命令行
容器文件复制,和cp类似
查看所有:
查看digest:
查看简写hash:
忽略简写hash:
过滤:
docker images -f xxxx
过滤标签格式 "key=value",如果有多个条件,则使用这种 --filter "key1=value" --filter "key2=value"
过滤没有打标签的镜像:
查正则:
格式化展示:
docker images --format
查看日志最后20行:
显示实时log,和tail -f 一个效果:
grep 过滤 log:
根据时间过滤查看 log:
注意,docker logs 不支持 --until
docker logs日志文件存储路径
docker 镜像信息:
cd var/lib/docker/containers/容器ID
在docker目录下,进入image文件夹,找到repositories.json文件
repositories.json文件详细记录了镜像一些信息
mac下docker镜像保存位置:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)