-
重启容器
docker restart {容器名} {容器名}
-
查看日志
docker logs -f {容器名} #添加-f是循环查看
-
容器设置自动重启
docker update {容器名} {容器名} --restart=always #参数 #no:不要自动重启容器。(默认) #on-failure: 如果容器由于错误而退出,则重新启动容器,该错误表现为非零退出代码。 #always:如果容器停止,请务必重启容器。如果手动停止,则仅在Docker守护程序重新启动或手动重新启动容器本身时才重新启动。 #unless-stopped:类似于always,除了当容器停止(手动或其他方式)时,即使在Docker守护程序重新启动后也不会重新启动容器。
-
查看容器
docker ps -a # 添加-a可以显示未运行的容器
-
构建镜像
docker build -t {image_name} {dockerfile_path}
-
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 /
-
使用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
-
进入容器内部
docker exec -it {容器名} bash
docker常用命令
最新推荐文章于 2024-07-08 15:17:08 发布