docker --- > 梳理 && Dockerfile && docker-compose.yml

docker run -p 80:80 -v $PWD/www:/usr/share/nginx/html nginx

参数说明:
1.docker run nginx: 感觉镜像(images)生成本地的容器
2.-p 80:80: 容器的80端口和本地的80端口的映射
3.-v:将本地的,当前文件夹下的www文件夹映射容器路径为/usr/share/nginx/html的文件夹下

[注:]Docker的安装

-d参数

  • 以守护进程的方式创建容器,即不会占用当前的进程.
    在这里插入图片描述
    在创建完毕后退出了,将执行权限重新返回给cmd

容器(container)相关操作

  • 查看容器docker ps
    在这里插入图片描述
  • 停止容器docker stop [CONTAINER ID](前4位)
    在这里插入图片描述
  • 查看所有容器(包含停止的): docker ps -a
    在这里插入图片描述
  • 删除容器:docker rm [CONTAINER ID](前4位)
    在这里插入图片描述

使用Dockerfile生成镜像并使用

  1. 写好项目.

  2. 写Dockerfile [注: 从后面的源码中,拷下来直接用]

  3. 构建镜像: docker build -t mar_pm2 .(注意有个".")
    在这里插入图片描述

  4. 查看刚才构建的镜像: docker images
    在这里插入图片描述5. 根据镜像生成容器: docker run -p 3000:3000 185c
    在这里插入图片描述
    2个app started的原因是,在process.yml中配置了启动2个子进程
    在这里插入图片描述


Dockerfile说明

  • Dockerfile
FROM keymetrics/pm2:latest-alpine
ADD . /usr/src/app
WORKDIR /usr/src/app
RUN npm config set registry https://registry.npm.taobao.org/ && npm i
EXPOSE 3000
CMD ["pm2-runtime", "start", "process.yml"]
  • 第1行: FROM keymetrics/pm2:latest-alpine, 指定pm2版本的镜像
  • 第2行: ADD . /usr/src/app, 移动当前目录下面的文件(在此用 . 表示)到app目录下
  • 第3行: WORKDIR /usr/src/app, 进入到app目录下面,类似cd
  • 第4行: 指定使用源https://registry.npm.taobao.org,并且安装依赖,相当于在本地文件下根据package.json使用npm install下载项目的依赖
  • 第五行: 将文件暴露到3000端口
  • 第六行: 相当于命令行执行pm2-runtime start process.yml

使用docker-compose.yml

  1. 在pm2目录下,新建 docker-compose.yml, touch docker-compose.yml
    在这里插入图片描述
  2. 使用vi docker-compose.yml进入编辑如下内容:
    [注: i进入编辑模式, ESC退出编辑模式, shift+:然后 wq enter 保存退出]
    在这里插入图片描述
  3. 使用docker-compose up -d --force-recreate --build构建容器
    在这里插入图片描述
  4. 使用docker-compose down关闭由docker-compose up 启动的容器

使用docker-compose.yml一次生成多个镜像

  1. 编写 docker-compose.yml如下:
version: '3.1'
services:
	mongo:
		image: mongo
		restart: always
		ports:
			- 27017:27017
	mongo-express:
		image: mongo-express
		restart: always
		ports:
			- 8081:8081
  1. 后面步骤和上面的一样…不缀述
发布了177 篇原创文章 · 获赞 22 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/piano9425/article/details/103551815