Docker基本使用

核心构想

对应用封装 分发 部署 运行生命周期进行管理,达到应用组件“一次封装,处处运行”的目的。

安装 brew cask install docker

三大核心概念

镜像(images 即文件,运行时会生成容器):

比如说Apache应用程序等,本身是只读的,从镜像启动的时候,会在镜像的最上层创建一个可写层。

docker images 来列出所有镜像。

下载镜像:docker pull java:1.8.111

搜索镜像:docker search httpd

重命名: docker tag 8404509de7d9 name:tag

容器:

类似于沙箱,利用容器来运行和隔离应用

docker ps 查看容器内的应用

docker stop 容器ID 停止应用

docker rm 容器ID 移除应用

仓库:

类似于代码仓库,是Doceker集中存放镜像文件的场所

分为公开仓库和私有仓库两种形式。

push命令上传,pull下来。(跟git相似)

集成java:

Dockerfile文件

FROM为使用哪个镜像

VOLUME为挂载路径

ADD为复制文件到镜像中

RUN为初始化时运行的命令

ENV为设置环境变量

ENTRYPOINT为启动时运行的命令

打包 及 推送打包 运行

mvn package docker:build

mvn package docker:build -DpushImage

docker run -p 8080:8080 -t app7

 

清理image:

1.进入root权限

sudo su

2.停止所有的container,这样才能够删除其中的images:

docker stop $(docker ps -a -q)

如果想要删除所有container的话再加一个指令:

docker rm $(docker ps -a -q)

3.查看当前有些什么images

docker images

4.删除images,通过image的id来指定删除谁

docker rmi <image id>

想要删除untagged images,也就是那些id为<None>的image的话可以用

docker rmi $(docker images | grep "^<none>" | awk "{print $3}")

要删除全部image的话

docker rmi $(docker images -q)

 

集成redis:

启动 docker run --name some-redis -d redis

posted @ 2018-02-03 18:46  哦克Oak  阅读(247)  评论(0编辑  收藏  举报