docker初体验

一、为什么要用docker

  1. 提供一次性的环境。比如,本地测试他人的软件、持续集成的时候提供单元测试和构建的环境。
  2. 提供弹性的云服务。因为 Docker 容器可以随开随关,很适合动态扩容和缩容。
  3. 组建微服务架构。通过多个容器,一台机器可以跑多个服务,因此在本机就可以模拟出微服务架 构。(非常重要,传统虚拟机启动项目时只能启动一个,如果想启动另一个只能关掉当前运行项目,再去启动)

二、安装docker

查看是否安装成功
$ docker version

Docker 需要用户具有 sudo 权限,为了避免每次命令都输入sudo,可以把用户加入 Docker 用户组

sudo usermod -aG docker $USER

三、使用docker第一步,创建image文件

三种方式创建image

第一种方式:git clone 从云上拉取代码后创建
git clone + git地址 (拉取代码)
cd + 上面clone的文件夹名(进入文件夹)
在文件里面增加dockerFile文件

dockerFile(一般放在项目根目录)

FROM node:10.15-slim (该 image 文件继承官方的 node image,冒号表示标签,这里标签是8.4,即10.15-slim版本的 node)

ENV NODE_SOURCE /app (定义变量NODE_SOURCE )

ENV HOST 0.0.0.0(定义变量HOST)

WORKDIR $NODE_SOURCE(指定接下来的工作路径为$NODE_SOURCE,也就是/app)

COPY . $NODE_SOURCE (将当前目录下的所有文件(除了.dockerignore排除的路径),都拷贝进入 image 文件的/app目录)
RUN npm install (运行install)
RUN npm run build(运行build)

EXPOSE 3000(将容器 3000 端口暴露出来, 允许外部连接这个端口)
CMD ["npm", "start"] (npm start 启动项目)

创建image文件

docker image build -t test-1 . // 不要忘记最后面的.哦

在这里插入图片描述
安装好了我们就可以查看镜像了:docker images
在这里插入图片描述
从 image 文件生成容器
docker run -itd -p 3008:3000 --name=test-1-c test-1

  • -i 表示以交互模式运行容器
  • -d 表示后台运行容器,并返回容器ID
  • -t 为容器重新分配一个伪输入终端
  • –name 为容器指定名称
  • -p 容器的 3000 端口映射到本机的 3008 端口
    在这里插入图片描述
    docker ps 查询运行中的容器
    docker ps -a 查询所有容器
    在这里插入图片描述
    那么现在我们不想运行,想停止刚刚的容器
docker container stop CONTAINERID

删除刚刚的容器

docker rm [containerID]

删除刚刚的image

docker rmi <image id>

第二种
从阿里云拉取images
第三种
从dockerhub拉取镜像

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值