docker常用命令

  1. 重启容器
    docker restart {容器名} {容器名}
    
  2. 查看日志
    docker logs -f {容器名} #添加-f是循环查看
    
  3. 容器设置自动重启
    docker update {容器名} {容器名} --restart=always
    
    #参数
    #no:不要自动重启容器。(默认)
    #on-failure: 如果容器由于错误而退出,则重新启动容器,该错误表现为非零退出代码。
    #always:如果容器停止,请务必重启容器。如果手动停止,则仅在Docker守护程序重新启动或手动重新启动容器本身时才重新启动。
    #unless-stopped:类似于always,除了当容器停止(手动或其他方式)时,即使在Docker守护程序重新启动后也不会重新启动容器。
    
  4. 查看容器
    docker ps -a # 添加-a可以显示未运行的容器
    
  5. 构建镜像
    docker build -t {image_name} {dockerfile_path}
    
  6. Dockerfile 示例
    FROM debian:buster-slim
    
    RUN echo "deb http://mirrors.163.com/debian/ buster main contrib non-free" > /etc/apt/sources.list  && \
        echo "deb-src http://mirrors.163.com/debian/ buster main contrib non-free" >> /etc/apt/sources.list  && \
        echo "deb http://mirrors.163.com/debian/ buster-updates main contrib non-free" >> /etc/apt/sources.list  && \
        echo "deb-src http://mirrors.163.com/debian/ buster-updates main contrib non-free" >> /etc/apt/sources.list  && \
        echo "deb http://mirrors.163.com/debian/ buster-backports main contrib non-free" >> /etc/apt/sources.list  && \
        echo "deb-src http://mirrors.163.com/debian/ buster-backports main contrib non-free" >> /etc/apt/sources.list  && \
        echo "deb http://mirrors.163.com/debian-security buster/updates main contrib non-free" >> /etc/apt/sources.list  && \
        echo "deb-src http://mirrors.163.com/debian-security buster/updates main contrib non-free" >> /etc/apt/sources.list
    
    RUN  apt-get update \
        && apt-get install -y git \
        make \
        autoconf \ 
        gcc  \
        #... do 
        && apt-get remove -y gcc \
        git \
        autoconf \
        make 
    
    WORKDIR /
    
  7. 使用yaml创建容器运行栈
    #生成脚本 sh
    export PNAME="mysql"
    export DOCKER_CONF="/root/docker"
    export MYSQL_DIR="$DOCKER_CONF/mysql"
    export MYSQL_PORT=3306
    
    
    if [ "$1" = "-u" ]; then
        docker-compose -p "$PNAME" -f docker-compose.mysql.yaml up -d
    elif [ "$1" = "-d" ]; then
        docker-compose -p "$PNAME" -f docker-compose.mysql.yaml down
    fi
    
    @REM bat脚本
    @echo off
    set ROOT=E:\
    
    set PNAME=mysql
    set DOCKER_CONF=%ROOT%\docker
    set MYSQL_DIR=%DOCKER_CONF%\mysql
    set MYSQL_PORT=3306
    
    if "%1%"=="-u" (
        docker-compose -p %PNAME% -f docker-compose.mysql.yaml up -d
    ) else if "%1%"=="-d" (
        docker-compose -p %PNAME% -f docker-compose.mysql.yaml down
    )
    
    version: "3.1"
    services:
      mysql:
        container_name: mysql
        image: mysql:8.0.33
        # restart: always
        ports:
          - "${MYSQL_PORT}:3306"
        env_file:
          - ${DOCKER_CONF}/env/common.env
          - ${DOCKER_CONF}/env/mysql.env
        volumes:
          - ${MYSQL_DIR}/data:/var/lib/mysql
          - ${MYSQL_DIR}/conf:/etc/mysql/conf.d
          - ${MYSQL_DIR}/init:/docker-entrypoint-initdb.d
        command:
          --default-authentication-plugin=mysql_native_password
          --character-set-server=utf8mb4
          --collation-server=utf8mb4_general_ci
          --explicit_defaults_for_timestamp=true
          --lower_case_table_names=1
        networks:
          - mysql_net
    
    networks:
      mysql_net:
        name: mysql_net
    
  8. 进入容器内部
     docker exec -it {容器名} bash
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值