零、
一、docker的安装
①yum list installed | grep docker //查看是否有docker相关应用
②yum -y install docker //下载docker
③docker -v | docker version //查看docker是否安装成功
二、docker守护进程工作
①systemctl start docker //启动docker
②systemctl status docker //查看docker状态
③systemctl restart docker //重启docker
④systemctl stop docker //停止docker
⑤systemctl enable docker //开机自启动
⑥docker info //查看docker运行信息
⑦docker --help //查看帮助文档
三、配置docker镜像加速(中科大)
①编辑镜像配置 vim /etc/docker/daemon.json
输入:{
"registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]
}
②重新加载配置 systemctl daemon-reload
③重新加载服务 systemctl restart docker
④查看配置加载情况 docker info
四、 镜像和容器
①搜索镜像 docker search [option] term
[option]可配置查找条件
--automated 只列出自动构建的对象
--no-trunc 显示完整的镜像描述
-f<过滤条件>
②拉取镜像 docker pull [option] name[:tag]
[:tag] 配置镜像版本,默认latest最新版本
③查看本地镜像 docker images [option] name [:tag]
[option]可配置查找条件
-a 列出本地所有镜像
--digests 显示镜像摘要信息
-q 只显示镜像id
④删除镜像 docker rmi [option] name [...]
[option] 参数
-f 强制删除
--no-prune 删除镜像时不移除过程镜像
⑤通过镜像运行容器 docker run -itd --name mysql-test -p(端口映射:容器服务的3306端口到系统的3307端口) 3307:3306 -e MYSQL_ROOT_PASSWORD=password mysql
docker run后参数:
-d:后台运行
-i:以交互模式运行容器
-t:为容器重新分配一个伪输入终端
-e:设置环境变量
-p:指定端口映射
-P:分配随机端口映射
--name:指定容器名
-h:指定容器的hostname
-v OR --volume:绑定一个数据卷,可绑定多个,格式:hostPath:cantainerPath
⑥查看容器正在运行的容器 docker ps
docker ps -a 查看所有容器
docker ps -f 根据条件过滤显示的容器
docker ps -s 显示容器大小
⑦ 启动容器 docker start name
停止容器 docker stop name
重启容器 docker restart name
⑧登陆容器 docker exec [option] name [command]
[option]参数:-i,-t,-d
[command]命令例如:bash
⑨删除容器 docker rm [option] name
[option]参数:
-f:强制删除
-i:移除容器的网络连接
-v:删除与容器关联的数据卷
⑩文件拷贝 docker cp [option] filePath containerName:path
或docker cp [option] containerName:path filePath
⑪目录挂载(数据卷):关联主机的目录与容器的目录,资源同步更新,创建容器时使用参数-v hostPath:containerPath指定
1.列出所有数据卷 docker volume ls
2.查看数据卷内容 docker inspect name
3.创建别名数据卷 docker volume create name(创建时自动根据别名生成目录/var/lib/docker/volumes/aa/_data)
4.删除数据卷 docker volume rm name
⑫获取容器镜像的元数据,以json格式返回 docker inspect name
五、Docker迁移与备份
①将容器持久化为新镜像 docker commit [option] containerName imageName:Tag
[option]参数:
-a:镜像作者
-c:使用Dockerfile指令创建镜像
-m:提交时的说明文字
-p:在commit时暂停容器
②镜像备份 docker save -o(定义压缩文件名) imageName
③镜像恢复 docker load [option]
[option]参数:
-i:指定导入的文件
-q:精简输出信息
六、网桥
①创建网桥 docker network create -d(网桥类型) name
②查看网桥列表 docker network ls
③查看网桥细节 docker network inspect name
④删除网桥 docker network rm name
⑤容器关联网络
1.启动容器时指定网络 --network name
2.容器启动之后加入网络 docker network connect name
七、Dockerfile构建镜像
①保留字
FROM //当前镜像是基于哪个镜像的,第一个指令
RUN //构建镜像时需要运行的指令
EXPOSE //当前容器对外暴露的端口号
WORKDIR //创建容器后通过终端登录的工作目录
ENV //构建镜像时设置环境变量
ADD //将宿主机下的文件拷贝到镜像,自动处理URL和tar包
COPY //与ADD类似
VOLUME //数据卷
CMD //指定容器启动时要运行的命令,只有最后一个会生效
ENTRYPOINT //与CMD类似
②dockerfile构建镜像
docker build -t 仓库名镜像名:tag Dockerfile所在Dir
③镜像改名
docker tag oldname newname
八、docker-compose
① 在线安装到环境变量目录
sudo curl -L "https://github.com/docker/compose/releases/download/v1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
②赋予执行权限
chmod +x /usr/local/bin/docker-compose
③运行容器失败时查看容器日志
docker logs containerName
④容器内装载vim
apt-get update
apt-get install vim