Docker信息相关命令
systemctl status docker 查看docker启动状态
systemctl stop docker 停止docker
systemctl start docker 启动docker
systemctl restart docker 重启docker
systemctl enable docker 重启docker
docker info 查看docker概要信息
docker --help 查看docker帮助信息
镜像相关命名
docker images 查看镜像
docker search '' 搜索镜像 +搜索的内容
docker pull : 从镜像仓库中拉取或者更新指定镜像
docker rmi : 删除本地一个或多少镜像
docker rm `docker ps -a -q` 删除所有容器
docker rmi `docker images -q` 删除所有镜像
容器相关命令
1、查看容器
docker ps 查看正在运行的容器
docker ps -a 查看所有容器
docker ps -l 查看最后一次运行的容器
docker ps -f status-exited 查看停止的容器
2、创建与启动容器
容器创建
1、交互式方式创建容器
docker run -it --name=容器名称 镜像名称:标签 /bin/bash
注:这时我们通过docker ps命令查看,发现可以看到启动的容器,状态为启动状态,退出当前容器命令:exit
2、守护式方式创建容器:
docker run -di --name=容器名称 镜像名称:标签
登陆守护式容器方式:
docker exec --it 容器名称(或者容器ID) /bin/bash
容器的启停
启动容器:
docker start 容器名称(或者容器ID)
停止容器:
docker stop 容器名称(或者容器ID)
文件拷贝
如果我们需要将文件拷贝到容器内可以使用cp命令:
docker cp 需要拷贝的文件或目录 容器名称:容器目录
也可以将文件从容器没拷贝出来:
docker cp 容器名称:容器目录 需要拷贝的文件或目录
目录挂载
我们可以在创建容器的时候,将宿主机的目录与容器内的目录进行映射,
这样我们就可以通过修改宿主机某个目录的文件从而去影响容器。
创建容器添加-v参数 后边为宿主机目录:容器目录,例如:
docker run -di -v /usr/local/myhtml:/usr/local/myhtml --name=容器名称 镜像名称:标签
注:如果你共享的是多级的目录,可能会出现权限不足的提示,这是因为Centos7
中的安全模块selinux把权限禁掉了,我们需要添加参数 --privileged=true来解决
挂载的目录没有权限的问题。
查看容器ip地址
docker inspect 容器名称(或者容器ID)
也可以直接执行下面的命令直接输出IP地址:
docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名称(或者容器ID)
删除容器
docker rm 容器名称(或者容器ID) 注:运行中的容器是不允许删除的
迁移与备份
1、容器保存为镜像
docker commit 容器名 保存为的镜像名 (docker commit mytomcat1 mytomcat-images)
2、镜像备份
我们可以通过以下命令将镜像保存为tar文件
docker save -o 指定文件名 镜像名称(docker save -o mytomcat.tar mytomcat-images)
3、镜像恢复与迁移
首先我们先删除掉镜像,然后执行此命令进行恢复
docker load -i mytomcat.tar
-i 输入的文件
执行后再次查看镜像,可以看到镜像已经恢复。
Dockerfile
Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。
Docker 私有仓库
私有仓库搭建与配置
1、拉取私有仓库镜像
docker pull registry
2、启动私有仓库容器
docker run -di --name=registry -p 5000:5000 registry
3、打开浏览器输入地址:http://服务器Ip:5000/v2/_catalog看到{"repositories":{}}表示私有仓库搭建成功并且内容为空。
4、修改daemon.json
vim /etc/docker/daemon.json 添加以下内容,保存退出。{"insecure-registries": [服务器Ip:5000]}(此步骤用于让docker信任私有仓库地址)
5、重启docker服务
镜像上传到私有仓库
1、标记此镜像为私有仓库镜像
docker tag 镜像名 私有仓库ip:5000/镜像名
2、上传标记的镜像
docker push 带标记的镜像名