systemctl start docker
systemctl stop docker
systemctl restart docker
systemctl enable docker
systemctl status docker
docker version
或者
docker info
该命令还可以查看到有多少 容器及其状态 和 镜像 的信息
docker --help // 查看总体文档 docker run --help // 查看docker run 的帮助文档
docker images
docker search [OPTIONS] 镜像名字 docker search mysql
docker pull docker pull mysql #没有制定版本则默认最新版
docker 官方镜像地址
docker run docker run tomcat
运行镜像后可以按 ctrl+c
退出
docker rmi 镜像名/镜像ID #若镜像在运行则会报错 docker rmi -f 镜像名/镜像ID #强制删除一个 docker rmi -f mysql docker rmi -f 镜像名/镜像ID 镜像名/镜像ID 镜像名/镜像ID #删除多个 其镜像ID或镜像用用空格隔开即可 docker rmi -f mysql redis docker rmi -f $(docker images -aq) #删除全部镜像 -a 意思为显示全部, -q 意思为只显示ID
docker load -i 镜像保存文件位置 docker load myimage.tar
docker save 镜像名/镜像ID -o 镜像保存位置和名字 docker save tomcat -o /myimage.tar
docker ps docker ps -a # 查看所有容器 #加格式化方式访问,格式会更加清爽 docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}\t{{.Names}}"
docker run [OPTIONS] IMAGE [COMMAND] [ARG...] 常用参数: --name=NAME #为容器指定名字为NAME,不使用的话系统自动为容器命名 -d: 后台运行容器并返回容器ID,也即启动守护式容器(后台运行); -i:以交互模式运行容器,通常与 -t 同时使用; -t:为容器重新分配一个伪输入终端,通常与 -i 同时使用; 也即启动交互式容器(前台有伪终端,等待交互,一般连用,即-it); -P: 随机端口映射,大写P -p: 指定端口映射,小写p # 创建并允许 Nginx 容器 docker run -d --name nginx -p 80:80 nginx
docker run -d 容器名 docker run -d redis:6.0.8
docker stop 容器名 docker stop nginx
docker start 容器名 docker start nginx docker restart 容器名 docker restart nginx
docker exec -it 容器名 bashshell docker exec -it nginx /bin/bash```
docker stop 容器名 docker stop nginx
docker kill 容器名 docker kill nginx
#删除一个 docker rm 容器ID docker rm nginx docker rm -f 容器ID #强制删除 docker rm -f nginx #删除多个 docker rm -f $(docker ps -a -q) 或 docker ps -a -q | xargs docker rm
docker logs 容器名 docker logs nginx
docker top 容器名 docker top nginx
docker inspect 容器名 docker inspect nginx
# 创建容器并指定数据卷,注意通过 -v 参数来指定数据卷 docker run -d --name nginx -p 80:80 -v html:/usr/share/nginx/html nginx
docker volume ls
docker volume inspect 数据卷名 docker volume inspect html
docker volume rm 数据卷名 docker volume rm html
docker network ls
docker network create 网络名 docker network create hmall
docker network inspect 网络名 docker network inspect hmall
docker network rm 网络名 docker nerwork rm hmall
官方文档:基本语法
假设docker run 部署 mysql命令如下:
docker run -d \ --name mysql \ -p 3306:3306 \ -e TZ=Asia/Shanghai \ -e MYSQL_ROOT_PASSWORD=123 \ -v ./mysql/data:/var/lib/mysql \ -v ./mysql/conf:/etc/mysql/conf.d \ -v ./mysql/init:/docker-entrypoint-initdb.d \ --network hmall mysql
那么用docker-compose.yml 文件定义就是:
version: "3.8" services: mysql: image: mysql container_name: mysql ports: - "3306:3306" environment: TZ: Asia/Shanghai MYSQL_ROOT_PASSWORD: 123 volumes: - "./mysql/conf:/etc/mysql/conf.d" - "./mysql/data:/var/lib/mysql" networks: - new networks: new: name: hmall
docker-compose -h
docker-compose up docker-compose up -d # 后台运行
docker-compose down
docker-compose exec yml里面的服务id
ocker-compose ps
docker-compose top
docker-compose logs yml里面的服务id
docker-compose config docker-compose config -q # 检查配置,有问题才有输出
docker-compose start
docker-compose restart
docker-compose stop
# 修改/root/.bashrc文件 vi /root/.bashrc 内容如下: # .bashrc # User specific aliases and functions alias rm='rm -i' alias cp='cp -i' alias mv='mv -i' alias dps='docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}\t{{.Names}}"' alias dis='docker images' # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi #退出 exit :wq #执行命令使别名生效 source /root/.bashrc
学习期间经常忘记 docker 的命令记录一下 ~
求点赞收藏o( ̄▽ ̄)d~