# 启动docker
systemctl start docker
# 设置开机自启动
systemctl enable docker
# 重启
systemctl restart docker
# 停止docker
systemctl stop docker
# 开机不自启
systemctl disable docker
# 查看docker状态
systemctl status docker
# 查看docker概要信息
docker info
# 查看docker帮助文档
docker --help
docker cp --help
docker run --help
虚悬镜像:仓库名、标签都是
的镜像,俗称虚悬镜像(dangling image)。
描述:列出主机上的镜像
语法:docker images
描述:搜索镜像
语法:docker search 镜像名称
描述:拉取镜像
语法:docker pull 镜像名称 | 镜像名称[:tag]
# 下载最新版的ubuntu
docker pull ubuntu
描述:查看镜像/容器/数据卷所占的空间
语法:docker system df
描述:删除镜像
语法:docker rmi 镜像名称
# 删除单个镜像
docker rmi 镜像名 | 镜像名:TAG
# 删除多个镜像
docker rmi -f 镜像名1:TAG 镜像名2:TAG
# 删除所有镜像
docker rmi -f $(docker images -qa)
语法:docker run [options] image [command] [ARG...]
[options]
-t
同时使用-i
同时使用。也即启动交互式容器(前台有伪 终端,等待交互) IP 映射方式 |
描述 |
-p hostPort:containerPort |
端口映射 -p 8080:80 |
-p ip:hostPort:containerPort |
配置监听地址 -p 10.0.0.1:8080:80 |
-p ip::containerPort |
随机分配端口 -p 10.0.0.1::80 |
-p hostPort1:containerPort1 -p hostPort2:containerPort2 |
指定多个端口映射,例如-p 8080:80 -p 8888:3306 |
# /bin/bash(或者bash) shell交互的接口
docker run -it ubuntu /bin/bash
注意:Docker容器后台运行,就必须有一个前台进程.容器运行的命令如果不是那些一直挂起的命令(比如运行top,tail),就是会自动退出的。
# 将服务放到后台启动
docker run -d redis
语法:docker ps [options]
# 查看所有正在运行的镜像
docker ps
退出容器:
进入容器:
docker attach 容器ID
# 重新进入容器(使用 crtl方式退出后,容器没有停止可以重新进入)
docker exec -it 容器ID /bin/bash
docker start 容器ID或容器名 # 启动已停止的容器
docker restart 容器ID或容器名 # 重启容器
docker stop 容器ID或容器名 # 停止容器
docker kill 容器ID或容器名 # 强制停止容器
docker rm 容器ID或容器名 # 删除已停止的容器
docker rm -f 容器ID或容器名 # 强制删除正在运行的容器
# 一次性删除多个容器实例
docker rm -f $(docker ps -qa)
docker ps -a -q | xargs docker rm
拷贝容器文件:docker cp 容器ID:容器内路径 目的主机路径
导出整个容器:docker export 容器ID > 文件名.tar
导入整个容器:docker import - 镜像用户/镜像名:镜像版本号
# 备份容器中的文件
docker cp 731b3ba513ad:/opt/cp_con.txt /opt
# 将ubuntu 整个镜像导出
docker export 731b3ba513ad > ubuntu.tar
# 删除Ubuntu容器
docker rm -f 731b3ba513ad
# 导入unbutu的tar包
cat ubuntu.tar | docker import - atguigu/ubuntu:3.7
# 查看Ubuntu的容器ID
docker images
# 运行容器
docker run -it 7972ebb0b6a6 /bin/bash