docker说明
搜索镜像
- docker search 镜像名
- https://hub.docker.com/
拉取镜像
- docker pull NAME[:TAG] 可以-q 去除详细输出
保存镜像
- docker save -o localName NAME[:TAG]
- docker save -o cjpt-service-alarm-user.tar cjpt-service-alarm-user:latest ()
- 上面的解释: 将镜像中的 镜像名为 cjpt-service-alarm-user 标签为 latest 保存到 同一目录 名为cjpt-service-alarm-user.tar
查看本地镜像
- docker images
加载镜像
- docker load < 压缩包名
- docker load --input 压缩包名
- docker load < cjptjava8.tar 加载cjptjava8.tar的镜像
给镜像修改名称
- docker tag imageId REPOSITORY:TAG
imageId: 镜像的id
REPOSITORY:本地镜像名称
TAG: 标记
启动镜像
docker run -it -e "profile=xihu" -p 23001:13001 -p 23002:13002 --expose=13001 -v /cjpt/docker/dockerlog/cjpt-service-alarm-user:/root/logs --privileged=true cjpt-service-alarm-user
命令 | 字段解释 |
---|---|
-it | 进入交互模式 启动时候直接看见里面的日志 |
-e "profile=xihu" | 设定dockerfile 传递profile的值 |
-p 23001:13001 | 主机端口23001与docker端口13001 相连 |
--expose=13001 | docker容器 向宿主机暴露的端口 |
-v /cjpt/docker/dockerlog/cjpt-service-alarm-user:/root/logs | 本机目录的/cjpt/docker/dockerlog/cjpt-service-alarm-user 与 /root/logs 相通 |
--privileged=true | 可以让里面拥有比较高权限 写日志的权限 |
cjpt-service-alarm-user | 镜像名字 |
退出
- ctrl+C 退出且关闭容器
- ctrl+P+Q 退出 但是不关闭容器
查日志
1.去运行的相通的文件夹里面 找日志
2.docker logs -f CONTAINER ID 显示 CONTAINER ID 容器的日志
删除容器 镜像
1
2docker rm $(docker ps -a | grep "Exited" | awk '{print $1}')
3
4docker rmi $(docker images | grep "<none>" | awk '{print $3}')
5
6docker rmi $(docker images | grep "<none>" | awk '{print $1":"$2}')
7
8docker images | awk '{printf "%s:%s\n",$1,$2}'
9
docker run启动
设置类型 | Description |
---|---|
shared | 任何挂载了此目录的容器都会双向和宿主机实时更新,作用范围当前目录,不包括子目录 |
slave | 任何挂载了此目录的容器都会收到实时更新,更新是单向的; 宿主机到容器,作用范围当前目录,不包括子目录 |
private | 任何挂载了此目录的容器都不会收到实时更新 |
rshared | 同 shared, 作用范围也包括子目录 |
rslave | 同 slave, 作用范围也包括子目录 |
rprivate | 同 private, 作用范围也包括子目录 |
列出无用的卷
1docker volume ls -qf dangling=true
清理无用的卷
1docker volume rm $(docker volume ls -qf dangling=true)
清除推出的容器
1docker rm $(docker ps -a | grep "Exited" | awk '{print $1}')
清除none的 镜像
1docker rmi $(docker images | grep "<none>" | awk '{print $3}')