🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
#Docker:镜像与容器 ###下载 Docker Toolbox [https://www.docker.com/products/docker-toolbox](https://www.docker.com/products/docker-toolbox) ###下面这个网站有一些别人做好的镜像 [https://hub.docker.com/explore/](https://hub.docker.com/explore/) ###Docker常用命令 ``` // 搜索镜像 docker search centos // 查看在本地已有的镜像 docker images // 下载镜像 docker pull centos // 查看本地已安装的机器 docker-machine ls // 删除一台机器 docker-machine rm default // 创建容器 (系统会给这个容器分配一个默认的名字) docker run centos /bin/echo 'hello' // 查看正在运行的容器 docker ps // 查看所有容器 docker ps --all // 可以基于一个镜像创建多个容器 docker run centos ls // 查看所有容器(简写) docker ps -a // 删除容器 docker rm 4507ade88ba8 // 也可以在创建容器的时候给容器取一个名字 docker run --name greeting centos /bin/echo 'hello' // 查看最近一次创建的容器 docker ps --all --latest // 停止容器 docker stop greeting // 重启容器 docker restart greeting // 启动容器 docker start greeting // 查看容器日志 docker logs greeting // 创建一个带互动的容器 docker run --interactive --tty centos /bin/bash // 登录到default主机 docker-machine ssh default // 创建服务需要的镜像并启动服务 docker-compose up -d --build ``` ###在后台运行的容器 ``` // 创建一个在后台运行的容器 docker run --detach centos ping www.baidu.com // 新打开一个终端 docker logs --follow 869f4f342b0189665329a5ea3479af415dde21fc90da4211687bbefa178d8c3c // 切换到原来的终端 docker stop 869f4f342b0189665329a5ea3479af415dde21fc90da4211687bbefa178d8c3c // 再切换到新打开的终端就会发现日志已经停止打印 ``` ###手工创建镜像 ``` // 先创建一个容器 docker run -i -t centos bash // 再添加一个nodejs的安装源 curl --silent --location https://rpm.nodesource.com/setup_6.x | bash - // 再用yum去安装一下nodejs yum install nodejs -y // 用nodejs在终端输出hello node -e "console.log('hello')" // 下面我们可以基于这个容器创建一个镜像,其实就是去提交一下对这个容器的修改就行了 // 先复制一个这个容器的主机名,因为它是这个容器的ID号,输入exit退出一下 // 提交修改 -m 指定提交日志(中间不能有空格) -a 指定作者 docker commit -m '安装nodejs' -a 'zhulinjie' 79944f6655f7 nodejs-demo:latest // 基于这个镜像去创建一个容器 docker run nodejs-demo node -e "console.log('hello')" // 删除手工创建的镜像,需要先删除基于这个镜像创建的容器 docker ps -a -l docker rm 8cb93622ed06 docker rmi nodejs-demo ``` ###Dockerfile创建镜像 ``` cd Desktop mkdir nodejs-demo cd nodejs-demo vi Dockerfile ``` ``` FROM centos MAINTAINER zhulinjie <zhulinjie@126.com> RUN curl --silent --location https://rpm.nodesource.com/setup_6.x | bash - RUN yum install nodejs -y ``` ``` docker build --tag nodejs-demo:latest . docker images ```