Docker常用命令记录

一、Docker基本命令:

sudo systemctl enable docker:设置docker开机自动启动,禁用:sudo systemctl disable docker

docker pull xxx:拉取镜像,例如:docker pull mysql

docker images:查看所有已拉取的镜像信息

docker ps:查看运行中的容器信息

docker ps -a:查看运行中、和已经创建的容器信息,查看全部容器信息

docker port xxx:查看 xxx 容器的端口号,xxx为容器名称或容器Id

docker logs -f -t --since='2022-07-18' --tail=100 xxx:实时查看指定时间后的日志,只显示最后100行

docker logs -t --since="2022-07-15" --until "2022-07-18" xxx:查看两个日期之间的日志

docker logs -f xxx --tail yyy:实时查看容器日志,xxx为容器名称,yyy为显示多少行

docker inspect 容器名称:在Mounts节点中可以看到具体数据卷挂载信息

docker cp  /root/test.txt  容器名称:/etc:把主机root目录下的test.txt文件复制到容器的/etc目录下

docker cp 容器名称:/etc/test.txt /root:把容器中/etc目录下的test.txt文件复制到主机的/root目录下

docker rmi -f xxx:删除镜像,xxx为镜像名称或镜像Id

docker rm -f xxx:删除容器,xxx为容器名称或容器Id

docker exec -it xxx /bin/bash:进入容器根目录(执行容器中的命令),xxx为容器名称或容器Id,也可这样写 docker exec -it xxx bash

sudo pip3 install runlike:安装 runlike 指令,可用于查看容器创建时的命令信息
runlike -p xxx:查看 xxx 容器创建时使用的命令,xxx 为容器名称或容器Id

docker network create 网络名称 --subnet=172.18.0.0/24:创建一个虚拟网络,例如:docker network create mynet --subnet=172.18.0.0/24,指定容器内IP段

docker network ls:查看所有网络

docket network inspect 网络名称:查看网络详情

docker network rm 网络名称:删除网络

docker load:

docker volume create 数据卷名称:创建数据卷用于挂载,例:docker volume create mysql-data,数据卷默认存储目录为(/var/lib/docker/volumes/卷名称/_data)

docker volume ls:查看已创建的所有数据卷信息

docker volume inspect 数据卷名称:查看数据卷详情

docker volume rm 数据卷名称:删除指定的数据卷

docker stats 容器名称或容器Id:查看容器占用CPU和内存信息

docker update --参数名称 no 容器名称:更新docker容器参数,如果docker容器已被创建,例如:docker update --restart no mynginx

docker run --name mysql8 -d -p 3306:3306
-v /devtools/mysqldata/log:/var/log/mysql 
-v /devtools/mysqldata/data:/var/lib/mysql 
-v /devtools/mysqldata/conf:/etc/mysql
-v /devtools/mysqldata/mysql-files:/var/lib/mysql-files
-e MYSQL_ROOT_PASSWORD=root
mysql:8.0.29
创建容器,参数说明:
        -d:后台运行容器,不挂断
        -p 3306:3306:映射容器端口到主机端口,左为主机端口,右为容器端口
        --name:容器名称
        -v xxx:xxx:挂载备份文件,左边xxx为主机目录,右边xxx为容器目录。 默认挂载到系统目录 var/lib/docker/volmont
        -e xxx:设置环境变量,例如:MYSQL_ROOT_PASSWORD=root,设置管理员密码为root
        --net 网络名称
        --ip 子网IP地址172.18.0.xxx
        mysql:8.0.29:创建容器要使用到的镜像名称、版本号

二、Dockerf关键命令

docker build -f ./Dockerfile -t 镜像名称:版本号 .:构建镜像,末尾的点不可缺少,-t表示tag

docker tag 现镜像名称:现镜像版本 镜像库注册账号/现镜像名称:现镜像版本。给现有镜像打标签,例:docker tag n:v a/n:v

docker push 标签名:版本号:将本地镜像推送到镜像仓库,需要先登录到镜像仓库。参数说明:--disable-content-trust(忽略镜像的校验,默认开启)

Docker容器中操作MySql常用命令:

mysql -uroot -proot:连接mysql服务,root分别为用户名和密码

use xxx:切换到 xxx 数据库,xxx为数据库名称

select user,host from user;:查看用户权限信息

grant all privileges on *.* to 'root'@'%' with grant option;:
        1、给用户授权,all代表所有权限(CRUD)等,*分别代表库名和表名,%所有访问IP
        2、权限:all(所有权限),usage(无权限),select,update,insert,delete(指定权限),update(字段1,......,字段N) 指定字段
        3、访问权限:%(所有主机),localhost(数据库服务器本机)
        4、语法:grant 权限列表 privileges on 库名.表名 to '用户'@'IP地址' with grant option;

grant select, update, delete, insert on *.* to 'root'@'%' with grant option;:为root用户授予所有库和表的(CURD)权限

flush privileges;:刷新更新或配置信息,使之生效

更多命令详见:Linxu系统操作MySql常用命令_拄杖忙学轻声码的博客-CSDN博客


版权声明:本文为hkl_Forever原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。