1、Docker的启动和停止
启动docker:systemctl start docker
停止docker:systemctl stop docker
重启docker:systemctl restart docker
查看docker状态:systemctl status docker
开机启动:systemctl enable docker
查看docker概要信息
2、docker info
-
镜像相关命令
查看镜像
docker images
REPOSITORY:镜像名称
TAG:镜像标签
IMAGE ID :镜像id
CREATED:j镜像的创建日期(不是获取该镜像的日期)
SIZE:镜像大小
查看的镜像都在宿主机的/var/lib/docker目录下
搜索镜像:docker search 镜像名称
NAME:仓库名称
DESCRIPTION:镜像描述
STARS:用户评价,反应一个镜像的受欢迎程度
OFFICIAL:是否官方
AUTOMATED:自动构建,表示该镜像由DockersHub自动构建
拉取镜像(从中央仓库下载镜像到本地):docker pull 镜像名称
删除镜像
根据ID删除镜像:docker rmi 镜像id
删除所有镜像:docker rmi 'docker images -q'
3、容器相关命令
1、查看容器
查看正在运行的容器:docker ps
查看所有容器:docker ps -a
查看停止的容器:docker ps -f status-exited
查看最后一次运行的容器:docker ps -l
2、进入容器内部
1:要进入docker容器内部,首先要保证容器处理启动状态。docker ps -a 可以查看当前所有的容器,status字段可以看到当
前容器所处的状态,up表示容器处于启动状态
2:使用docker exec进入容器内,这种方法是最通用的方法。
3:docker attach 容器id,这种方法进入容器会存在一个问题,当多个终端同时进入容器时,所有窗口会同步显示,所以不太
适合生产环境使用。
3、创建和启动容器
创建容器命令:docker run
-i:表示运行容器
-t:表示容器启动后会进入命令行。加入这两个参数后,容器就能登录进去,即分配一个伪终端
--name:为创建的容器命名
-v:表示目录映射关系(前者时宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或者文件映射
-d:表示会创建一个守护式容器在后台运行(该方式创建容器后不会自动登录)
-p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口,可以使用多个-p做多个端口映射
4、创建容器的方式(三种):
1、交互式方式创建:docker run -it --name=容器名称 镜像名称:标签
2、守护式方式创建:docker run -di --namee=容器名称 镜像名称:标签
3、登录守护式容器方式:docker exec -it 容器名称(或容器id)
停止和启动容器
停止容器:docker stop 容器名称(容器id)
启动容器:docker start 容器名称(容器id)
文件拷贝
将文件拷贝到容器:docker cp 需拷贝的文件或目录 容器名称:容器目录
将文件从容器内拷贝出:docker cp 容器名称:容器目录 需拷贝的文件或目录
目录挂载(创建容器时将宿主机目录和容器目录映射,通过修改宿主机影响容器)
添加 -v 后面宿主机目录:容器目录
docker run -di -v 宿主机目录:容器目录 --name:容器名称 镜像名称:标签
如果共享多级目录,可添加-priviliegged=true解决权限不足的问题
查看容器ip地址
查看容器运行的各种数据:docker inspect 容器名称(容器id)
直接输出ip地址:
docker inspect --format='{{.NetworkSettings.IPaddress}}' 容器名称(容器id)
删除容器
docker rm 容器名称(容器id)
应用部署
拉取镜像:docker pull 镜像名称
创建容器:docker run -di --name=容器名称 -p 宿主机端口:容器端口 -e 环境变量
(环境变量不是必需的,根据镜像不同决定)
迁移和备份
容器保存为镜像 :docker commit 容器名称 镜像名称
镜像备份(镜像保存为tar文件): docker save -o 名称.tar 镜像名称
镜像恢复和迁移:docker load -i 名称.tar