1. 概念:
实现项目的部署。 装之前,我们首先确保自己的linux系统内核版本高于3.10,并且系统是64位,才能体验Docker哦。
镜像(image) node,mongodb,tomcat 一个安装软件就代表一个镜像 class容器 在软件上运行的程序就是容器-->正在运行的程序就是容器 实例仓库 (集中放置镜像的地方) Docker hub
1-1. 测试服务器版本
uname -ir
2. 安装
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun //阿里云安装
2-1. 是否安装成功
docker -v //查看docker的版本号
2-2. 安装阿里云镜像
使用docker安装软件
//重建docker文件夹sudo mkdir -p /etc/docker//生成json文件sudo tee /etc/docker/daemon.json <<-'EOF'{"registry-mirrors": ["https://vjd3mwdv.mirror.aliyuncs.com"]}EOFsudo systemctl daemon-reloadsudo systemctl restart docker

docker info //查看docker的详情信息
3. nginx镜像
docker pull nginx //最新版本docker pull nginx:1.8 //安装1.8,不覆盖
3-1. 查看docker镜像
docker images
3-2. 删除docker镜像
//docker rmi [镜像名:tag|id]docker rmi nginx:1.8 //rmi:remove images,删除nginx1.8 镜像docker rmi f6d //id删除docker images
启动一个容器
运行在镜像上的程序(应用)
//就是运行在镜像上的程序(应用)//docker run [镜像名:tag|id]docker run nginx
4. 将80端口项主机暴露
docher ps //正在运行的容器docher ps -a //所有存在的容器
4-1. 删除容器
docker ps -a
4-2. 启动在后台运行的容器
容器和容器相互隔离,都在80端口
docker run -d nginxdocker ps
4-3. 端口向主机暴露
4-3-1. 停止容器
docker stop 180(id)
4-3-2. 创建项外暴露的容器
docker run -d -p 8080:80 nginx //主机端口:容器端口docker run -d -p 8081:80 nginx //主机端口:容器端口//容器一个端口可以启动多个
代码,环境一起打包成镜像
# 引入NodeFROM node:latest# 在容器内创建工作目录RUN mkdir -p /app# 指定容器工作目录WORKDIR /app#将当前目录下的所有文件,都拷贝进入 image 文件的/app目录。COPY . /appRUN npm install --registry=https://registry.npm.taobao.orgRUN npm install pm2 -g --registry=https://registry.npm.taobao.org#对外暴露的端口EXPOSE 8080#程序启动脚本CMD ["pm2-runtime", "app.js"]
4-3-3. Linux上构建镜像
在Dockerfile同级路径下执行如下命令构建镜像
docker build -t myapp .
4-3-4. 启动容器
docker run -d -p 8082:8080 --name myapp myapp //主机端口:容器端口
4-3-5. 导出镜像
docker save -o myapp.tar myapp
4-3-6. 导入镜像
docker load -i myapp.tar
