容器操作
运行一个容器:docker run -d -it -p 8300:8100 -p 8306:8006 -v /home/insight/files/:/home/ --name office2pdf office2pdf:v1
端口映射:8300 宿主机端口,8100 容器端口
目录映射: /home/insight/files/ 宿主机目录,/home 容器目录
office2pdf :容器名称
office2pdf:v1:镜像名称
查看容器:docker ps
docker ps -a
docker ps -n 5
启动容器 :docker start CONTAINER_ID
停止容器 :docker stop CONTAINER_ID
重启容器 :docker restart CONTAINER_ID
删除容器:docker rm CONTAINER_ID
进入容器:docker exec -ti CONTAINER_ID /bin/bash
文件copy到容器:docker cp /home/file CONTAINER_ID:/home
查看容器的映射目录: docker inspect -f "{{.Mounts}}" 容器名称/容器Id
查看容器的映射端口:docker port 容器名称/容器Id
查看具体某一个容器的日志。
docker logs 参数 容器id
其中参数可选择的有:
-f follow 表示实时显示日志
-t timestamp 表示显示时间戳
--tail=n 表示显示末尾n行
例如:docker logs -f --tail=200 xxxx,表示实时加载日志信息,并且仅显示最后200行。
# 停止所有容器
docker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker stop
# 删除所有容器
docker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker rm
# 删除所有none容器
docker images|grep none|awk '{print $3 }'|xargs docker rmi
镜像操作
拉取镜像:docker pull imagesname
查看镜像:docker images
删除镜像:docker rmi images_id
Dockerfile创建镜像:docker build -t office2pdf:v1 .
保存一个新的镜像:docker save -o office2pdf.tar office2pdf:v1
office2pdf.tar:保存的文件名
office2pdf:v1:原来的镜像
加载一个镜像:docker load --input centos.tar
--input 指定文件
从容器中创建一个新镜像:docker commit -a "runoob.com" -m "my apache" a404c6c174a2 mymysql:v1
-a :提交的镜像作者;
-c :使用Dockerfile指令来创建镜像;
-m :提交时的说明文字;
-p :在commit时,将容器暂停。
将容器a404c6c174a2 保存为新的镜像,并添加提交人信息和说明信息。