# Docker 笔记

# Docker 入门使用🚙

安装并配置加速地址 (opens new window)

常用命令

docker ps  查看进程
docker ps -a 查看所有进程
systemctl restart docker  重启服务
docker stop 服务名

实操
docker run --name root -e MYSQL_ROOT_PASSWORD=123456 -p 8270:3306 -d mysql  拉取mysql docker镜像并且开启服务 将端口号映射到8270端口
docker ps 查看进程
docker stop root 停止root mysql服务
docker rm root 销毁mysql服务
docker logs -f root  查看服务具体日志

docker服务不需要考虑环境问题就能跑起服务,非常有效

docker-compose集合命令 用于创建多个docker镜像服务

#下载:
curl -L https://get.daocloud.io/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

#权限:
chmod a+x /usr/local/bin/docker-compose

#查看版本:
docker-compose --version

创建docker-compose.yml

version: '3'
services:
  mysql1:
    image: mysql
    environment:
    - MYSQL_ROOT_PASSWORD=123456
    ports:
    - 8271:3306

    mysql2:
    image: mysql
    environment:
    - MYSQL_ROOT_PASSWORD=123456
    ports:
    - 8272:3306

# Use root/example as user/password credentials
version: "3.1"

services:
  mongo:
    image: mongo
    restart: always
    environment:
      MONGO_INITDB_ROOT_USERNAME: root
      MONGO_INITDB_ROOT_PASSWORD: example

  mongo-express:
    image: mongo-express
    restart: always
    ports:
      - 8081:8081
    environment:
      ME_CONFIG_MONGODB_ADMINUSERNAME: root
      ME_CONFIG_MONGODB_ADMINPASSWORD: example

运行 docker-compose up -d

实战

service docker start  启动docker服务

# 创建持久化sql服务
docker run --restart=always --name root -e MYSQL_ROOT_PASSWORD=123456 -p 8270:3306 -d mysql

# 创建持久化redis服务
docker run -itd --restart=always --name redis-test -p 8271:6379 -v/home/redistest1:/data redis redis-server --requirepass 123456


# 区分生产环境和线上环境 运行springboot
java -jar 生成的jar包 --spring.profiles.active=prod

# 后台运行
nohub java -jar 生成的jar包 --spring.profiles.active=prod

#运行日志文件输出
nohup java -jar imissyou-0.0.1-SNAPSHOT.jar >temp.txt &

nohup java -jar imissyou-0.0.1-SNAPSHOT.jar >log.log 2>&1 &

# ps -ef
查看当前所有进程

# kill -9 Pid
杀死某个进程

# 查看端口号情况  不加后面的查看所有的端口号
netstat -ano |findstr 8080

# 杀死进程
taskkill -PID 进程号 -F

# 连接远程服务器
ssh root@47.97.180.232

# 使用 docker 创建镜像并且上传服务,环境:nodejs springboot

Node

  1. 创建 Dockerfile
FROM node:lts-alpine

WORKDIR /app
COPY . /app

RUN rm -f package-lock.json \
    ; rm -rf .idea \
    ; rm -rf node_modules \
    ; npm config set registry "https://registry.npm.taobao.org/" \
    && npm install

EXPOSE 3000
CMD ["node", "app.js"]
  1. 构建镜像
docker build -t flydean/koa-web-app .
  1. 启动服务
docker run -p 54321:8080 -d flydean/koa-web-app
  1. 开发完成,给本地镜像打上标签,一定要记得是 username 在前面
docker tag flydean/koa-web-app 251205668/koa-api
  1. 上传
docker push 251205668/koa-api

Springboot

  1. 创建 Dockerfile
FROM openjdk:8
MAINTAINER yang
LABEL name="student-admin" version="1.0" author="努力中的杨先生"
COPY student_admin-0.0.1-SNAPSHOT.jar student-image.jar
CMD ["java","-jar","student-image.jar"]

  1. 构建镜像

  2. 启动服务

Last update: 7/20/2021, 8:53:54 AM