zoukankan      html  css  js  c++  java
  • Docker-命令

    Docker:

    1、Docker Effect:

    1、作用:

    1、解决环境切换/配置繁琐工作。

    将所需要的环境构建成一个镜像,使用的时候直接下载相应的容器,容器包含了我们程序运行中所需要的环境,无需对环境进行重复的配置。

    2、docker运行原理:

    1、配置文件:
      docker配置文件:docker-compose.yml/..-dockerfile
      1)docker-compose.yml中创建镜像(一般为官网下载的镜像)
      2)..-dockerfile一般为自定义镜像,需手动配置属性参数
    2、Image:
     

     

    2、Question:

    1、权限不足:

    使用添加sudo运行docker命令:

    (base) kevin@kevin-dev:~$ sudo docker ps

    2、属性:

    1、volume:

    docker中,image为只可读,当运行镜像时,如果需要对容器中的文件进行修改,那么容器将会对原始文件进行隐藏,当删除容器的时候已修改的文件会恢复默认,这个过程称之为Union file System(联合文件系统)。对此为保存修改(持久化)数据,volume将容器目录与宿主机目录对应,用来存储持久化数据。

    volumes:
     #./conf/redis.conf宿主机目录 /etc/redis/redis.conf容器目录
    - ./conf/redis.conf:/etc/redis/redis.conf:ro
    - ./redis:/data

    3、Order

    1、docker version:查看容器版本

    2、docker info:查看容器信息

    3、sudo docker images:查看所有镜像

    4、sudo docker ps:查看容器

    等同sudo docker container ls

    img

    5、sudo docker ps -a:查看正在运行+历史运行过的容器

    1584064997912

    6、docker_compose配置信息:

    version: '2.0'                                                      
    services: #服务列表
    redis:
    images: redis:rc-alpine #镜像本版
    container_name: msf_redis #启动容器实例名称
    volumes:
    - ./conf/redis.conf:/etc/redis/redis/conf/ro
    - ./redis:/data
    command: #容器启动之后命令
    - redis-server
    - /ect/redis/redis.conf
    env_file: #配置文件
    - ./env.redis.env
    ports: #端口映射
    -6379:6379
    networks: #网络(自定义)
    - msfnet
    restart: on-failure #是否跟随Docker重启而重启(always)
    postgresql:
    iamge: postgres:alpine
    container_name: msf_postgres
    privileged: true #用户权限(设置为root权限?)
    volumes:
    - ./conf/postgresql.conf:/var/lib/postgresql/data/postgresql.conf.ro
    - ./postgres:/var/lib/postgresql/data/pgdata
    env_file:
    - ./env/postgres.env
    #command:
    #todo:
    ports:
    - 5432:5432
    networks:
    - msfnet
    restart: on-failure
    sass:
    build:
    context: ./
    dockerfile: ./sass_dockerfile
    container_name: msf_sass
    volumes:
    - ./conf/nginx.conf:/ect/nginx/nginx.conf:ro
    - ./webapp:/webapp
    evn_file:
    - ./env.sass.env
    depends_on: #依赖服务
    - postgres
    - redis
    ports:
    - "8100:80"
    networks:
    - msfnet

    networks: #自定义属性
    msfnet: #网络
    driver: bridge

    7、docker-compose -v:查看docker是否安装成功

    8、dockerfile文件:

    FROM openjdk:8-apline  #指出镜像
    ENV LANG C.UTF-8 #解决乱码

    #构建镜像执行的命令

    #设置国内镜像资源
    RUN sed -i 's/dl-cdn.aplinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /ect/apk/repositories #直接编辑文件repositories文件并替换
    && apk update #更新本地镜像源
    && apk upgrade #升级软件

    #安装nginx(无缓存)
    RUN apk add --no-cache nginx tzdata

    #配置时区
    RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/lcoaltime
    && echo 'Asia/Shanghai' >/etc/timezone

    #清理文件
    RUN rm -rf /roor/.cache /temp/*

    #设置nginx路径
    RUN mkdir /run/nginx

    WORKDIR /webapp #工作目录

    RUN sh -c 'touch app.jar'  

    EXPOSE 80  #外界交互的端口

    volume [" /webapp"] #指定持久化目录
    ENTRYPOINT sleep 60 && /bin/sh startup.sh

    9、sudo docker rm + 容器id :删除容器

    10、sudo docker rmi + 镜像id :删除镜像

    11、docker pull name: tag :直接从Docker Hub中心下载镜像

    12、docker run -it image:tag /bin/bash 等同于 docker run -it image:tag /bin/sh 创建并启动容器

    13、docker exec -it containerID /bin/sh :进入docker进行操作(待确定)

    14、docker run image:tag /bin/echo "xxx" :创建启动了image容器,使用容器中的echo打印了xxx内容

    15、docker run -d image:tag /bin/sh -c "":后台创建运行容器

    16、docker logs containerID:查看容器日志

    17、docker logs -f containerID :实时查看容器日志

    18、Ctrl+D :退出

    19、docker top containerID:查看当前容器的进程

    20、docker inspect containerID:查看容器的详细信息

    21、apt-get update:更新

    22、docker commit -m = "操作" -a="author_name" containerID image/tag

    23、docker buil -t imageName . :在当前目录下创建镜像

    24、dokcer start containerID :启动容器

    25、docker-compose up :启动并运行docker-container

    26、docker ordre大全:https://ss.csdn.net/p?https://upload-images.jianshu.io/upload_images/4424012-983737d51de7607c.jpg

    27、docker重启:docker restart containerId(等同于:docker stop containerId + docker start containerId)

    28、docker run为创建容器

    往外张望的人在做梦,向内审视的人才是清醒的
  • 相关阅读:
    ubuntu安装node.js+express+mongodb
    Linux(Ubuntu)下安装NodeJs
    Nodejs的Express完成安装指导
    【详解】ERP、APS与MES系统是什么?
    linux常用命令
    Linux命令集合
    sql 以逗号分割成多行数据
    【项目管理工具】SVN
    富文本编辑器
    cookie的跨页面传值
  • 原文地址:https://www.cnblogs.com/StefanieYang/p/12698653.html
Copyright © 2011-2022 走看看