Docker镜像常用命令
首先准备打镜像的文件,把所有需要打成镜像的文件放在一个文件夹下,如:realware下放3个需要打镜像的文件
1.打镜像,注意镜像名realware:3.0.0后有一个空格和.
docker image build -t realware:3.0.0 .
2.docker镜像启动
docker run -d -P 本机映射端口:镜像映射端口 镜像名
docker run -d -p 8080:8080 realware:3.0.0
挂载方式启动:
docker run -p 8080:8080 --name realware -v /home/realware/config:/usr/local/tomcat/webapps/realware/WEB-INF/classes/config -d realware:3.0.0
--name realware 启动的镜像起了一个realware的名字
/home/realware/config 本地目录,挂载的文件
/usr/local/tomcat/webapps/realware/WEB-INF/classes/config 覆盖容器中的目录的配置
realware:3.0.0 启动的镜像名字
报错后:
docker: Error response from daemon: Conflict. The container name "/realware" is already in use by container "2e4a437a15d31617c2237e4abf1627ef81116c5cfdf2a6caf896ca2fcea06a39". You have to remove (or rename) that container to be able to reuse that name.
See 'docker run --help'.
删除该容器:
docker rm 2e4a437a15d31617c2237e4abf1627ef81116c5cfdf2a6caf896ca2fcea06a39
重新执行启动命令
3.查看docker日志
docker logs -f 容器名或ID
最近100行日志
docker logs -f --tail 100容器名或ID
4.docker镜像停止
docker stop 容器id名
docker镜像启动:
docker start容器id名
5.查看容器名字(查看正在这台机器上运行的容器):
docker ps (容器id:CONTAINER ID)
6.进入docker
docker exec -it 容器名或ID /bin/bash
7.退出镜像
exit
8.将本地文件上传到容器的指定目录中(没试过)
docker cp 本地文件路径 容器ID:容器路径
如: cp /home/application.properties e8ad041c187d:/usr/local/tomcat/webapps/realware/WEB-INF/classes
9.删除镜像
docker rmi IMAGE ID(如: bb75b54b93be)
报错①:
Error response from daemon: conflict: unable to remove repository reference "realware:3.0.0" (must force) - container 14dccd55cbf4 is using its referenced image f4b439af0af1
先删除引用这个镜像的容器;
docker rm 14dccd55cbf4
再删除这个镜像;
docker rmi f4b439af0af1
强制删除:
docker rmi -f IMAGE ID(如: bb75b54b93be)
报错②:
Error response from daemon: conflict: unable to delete 3004792d9dfa (must be forced) - image is being used by stopped container 2e4a437a15d3
先停止容器:
docker stop 2e4a437a15d3
再强制删除:
docker rmi -f 3004792d9dfa