【慕课笔记】第一个Docker化的java应用
视频网址:http://www.imooc.com/learn/824
常用命令(Win10下使用Powershell比较好)
docker pull <镜像名称> :拉取镜像
- 可以去网易云找,https://c.163yun.com/hub#/m/home/
- 例如: docker pull hub.c.163.com/library/nginx:latest
- 可以去网易云找,https://c.163yun.com/hub#/m/home/
docker images :查看本地镜像
docker <某某命令> –help :查看这个命令的帮助
docker ps :查看本地已经运行的镜像
docker run 镜像名称
docker run -d <镜像名称> :detach(后台)方式运行,会返回一个容器ID
- 例如docker run -d hub.c.163.com/library/nginx
docker run -d -p <主机端口>:<容器端口> <镜像名称> :运行镜像并开放端口,使本机的端口指向容器的端口(docker网络的bridge模式)
- 例如: docker run -d -p 8080:80 hub.c.163.com/library/nginx
docker run -d -P <镜像名称> :则会将容器开放的端口随机映射到本机的某些端口上,此时可以使用docker ps查看端口映射关系
docker exec -it <部分容器ID> bash :返回某个容器的终端,进入容器的内部
- 这里用部分容器ID只要能达到能唯一确认一个容器就行,不用输全
- docker stop <部分容器ID> :停止容器
创建自己的镜像
新建Dockerfile,在其中写基于哪个镜像和一些拷贝命令等等,然后在这个目录下执行:
docker build -t <镜像名>:<镜像TAG> <dockerfile所在目录>
例如: docker build -t complat:latest . :注意,因为是当前目录,所以使用了”.“
删除镜像
需要先docker -ps -a查看有哪些容器使用了这个镜像,然后使用:
docker rm <容器ID>
删除容器,接着再使用:
docker rmi <镜像ID>
删除镜像
一些问题解决
安装官方nginx镜像后发现在docker exec -it <容器ID> bash进入bash后一些常用命令,比如ps -ef都不能用:
bash下执行apt-get update和apt-get install procps