Docker的常见使用
一、Docker的常见使用
1、docker的使用
1.1 查看docker版本号信息
docker version
docker info
1.2 启动docker
systemctl start docker
1.3 关闭docker
systemctl stop docker
1.4 重启docker
systemctl restart docker
1.5 docker设置随服务启动而自启动
systemctl enable docker
1.6 查看docker运行状态
systemctl status docker
2、Docker 容器使用
2.1 启动容器
docker run -it 镜像名 /bin/bash
docker run -it 镜像名:Tag /bin/bash
# -i: 交互式操作。
# -t: 终端。
# /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。
2.2 容器内直接退出
exit
2.3 查看正在运行容器列表
docker ps
2.4 查看所有容器
docker ps -a
2.5 启动一个已停止的容器
docker start 容器ID/容器名
2.6 停止容器
docker stop 容器ID/容器名
2.7 重启容器
docker restart 容器ID/容器名
2.8 kill 容器
docker kill 容器ID/容器名
2.9 删除容器
删除一个:docker rmi -f 镜像名/镜像ID
删除多个:docker rmi -f 镜像名/镜像ID 镜像名/镜像ID
删除全部镜像:docker rmi -f $(docker images -aq)
# -a 意思为显示全部
# -q 意思为只显示ID
强制删除镜像:docker image rm 镜像名称/镜像ID
清除所有无容器使用的镜像:docker system prune -a
3、docker镜像的使用
3.1 查看docker镜像列表
docker images
# REPOSITORY:表示镜像的仓库源
# TAG:镜像的标签
# IMAGE ID:镜像ID
# CREATED:镜像创建时间
# SIZE:镜像大小
3.2 获取镜像
docker pull 镜像名
docker pull 镜像名:tag
3.3 搜索镜像
docker search 镜像名
3.4 保存镜像
docker save 镜像名/镜像ID -o 镜像保存在哪个位置与名字
3.5 加载镜像
docker load -i 镜像保存文件位置
3.6 测试镜像功能是否正常
docker run 镜像名
3.7 设置镜像标签
docker tag 镜像ID 镜像名:tag
3.8 更换容器名
docker rename 容器ID/容器名 新容器名
4、docker的其他操作
4.1 修改容器内的文件
# 从容器内拷出
docker cp 容器ID/名称:容器内路径 容器外路径
# 从外部拷贝文件到容器内
docker cp 容器外路径 容器ID/名称:容器内路径
4.2 查看容器日志
docker logs -f --tail=要查看末尾多少行 默认all 容器ID
4.3 docker网络重启
# 启动
systemctl start docker
# 守护进程重启
systemctl daemon-reload
# 重启docker服务
systemctl restart docker / service docker restart
# 关闭
docker service docker stop / docker systemctl stop docker
4.4 挂载路径
① 指定目录挂载
docker run -it -v 主机目录1:容器内目录1 -v 主机目录2:容器内目录2
# -v 主机目录:容器内目录
② 匿名挂载
docker run -d -P --name nginx01 -v /etc/nginx nginx
# -v 容器内路径(挂在不指定宿主机目录,也不使用卷名,在-v只写了容器内的路径,没有写容器外的路劲)
③ 容器之间目录挂载
#1.命令
--volumes-from 容器名或id #2.实例
docker run -d -p 3306:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7
docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysql02 --volumes-from mysql01 mysql:5.7
# 这个时候,可以实现两个容器数据同步! #3.实例
docker run -it --name dc01 zzyy/centos
docker run -it --name dc02 --volumes-from dc01 zzyy/centos
docker run -it --name dc03 --volumes-from dc01 zzyy/centos
4.5 添加环境变量
① dockerfile 添加环境变量
# dockerfile ENV 设置环境变量,该方式直接将变量生成到镜像中
ENV PATH=/usr/loca/mysql/bin:$PATH LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH
# dockerfile CMD/RUN/ENTRYPOINT
CMD export PATH=/usr/local/mysql:$PATH
RUN export PATH=/usr/local/mysql:$PATH
ENTRYPOINT export PATH=/usr/local/mysql:$PATH
② 使用容器添加环境变量
1> 启动容器时指定环境变量
docker run -dti -e PATH=/usr/local/mysql/bin:$PATH --rm 镜像ID
docker run -tid --env PATH=/usr/local/mysql/bin:$PATH --rm 镜像ID
# -e/--env 标记多个变量
2> 进入容器内部,添加需改环境变量
# 进入容器
docker exec -ti 容器ID/容器名 /bin/bash
# 可在如下文件内容添加变量
~/.bashrc
~/.profile
~/.bash_profile
/etc/profile
/etc/environment
/etc/bash.bashrc
# 在文件末尾添加类似
export PATH=/usr/local/mysql/bin:$PATH
# 添加完成后,使文件生效
source 修改的文件
# 查看
echo $PATH
# 提交容器为镜像:使用docker commit提交容器的读写层,变成只读层
docker commit -a 作者 -m 提交日志 -t 容器名或ID 仓库名:镜像版本
5、docker之环境清理
5.1 基础清理
docker system prune -f
5.2 容器清理
docker container prune -f
5.3 卷清理
docker volume prune -f
5.4 停止所有运行的容器
docker stop $(docker ps -aq)
5.5 删除所有关闭的容器
docker rm $(docker ps -aq)
5.6 删除所有dangling镜像(即无tag的镜像)
docker images|grep none|awk ‘{print $3}’|xargs docker rmi
5.7 删除所有dangling数据卷(即无用的volume)
docker volume rm $(docker volume ls -qf dangling=true)
5.8 清理容器的网络占用
docker network disconnect --force networkName containerName
Docker的常见使用的更多相关文章
- docker(部署常见应用):docker部署redis
上节回顾:docker(部署常见应用):docker部署mysql docker部署redis:4.0 # 下载镜像 docker pull redis:4.0 # 查看下载镜像 docker ima ...
- docker(部署常见应用):docker部署mysql
上节回顾:docker(部署常见应用):docker部署nginx docker部署mysql:5.7.26 # 下载镜像 docker pull mysql: # 查看镜像 docker image ...
- docker(部署常见应用):docker部署nginx
上回说到centos安装docker. 这次用实战,docker部署运行常见的应用. docker常用命令 参看:docker命令大全.这里不做赘述. docker部署nginx 1.docker h ...
- Docker 之常见应用部署
本文教大家如何将常见的应用使用 Docker 进行部署,巩固大家 Docker 命令的学习,下文教大家如何构建属于我们自己的 Docker 镜像. Tomcat 拉取镜像. docker pull t ...
- Docker:常见命令
Docker常见命令(持续更新中): 说明 命令 截图 1 查看Docker版本 Docker -v 2 查看镜像 Docker image ls 3 查看容器 Docker conta ...
- maven docker plugin 常见问题解决
1. maven 项目必须使用小写,不然会一直有500 的错误 500: HTTP 500InternalServerError 2. docker server 连接数超了 Fail ...
- Docker Toolbox常见错误解决方案
错误1 Error checking TLS connection: Error checking and/or regenerating the certs: There was an error ...
- docker安装常见应用
1.emqx #!/bin/bash docker stop emqttd-docker-v2.3.11 docker rm emqttd-docker-v2.3.11 docker run -tid ...
- docker之常见错误
1. docker run -d --name showdoc -p 4999:80 -v /showdoc_data/html:/var/www/html/ star7th/showdoc WARN ...
- docker删除常见命令
$ docker stop $(docker ps -a | grep "Exited" | awk '{print $1 }') //停止容器 1b7067e19d6f a840 ...
随机推荐
- 第八周作业-N67044-张铭扬
1. 完成ftp的mysql虚拟用户 数据库服务器:10.0.0.152 FTP服务器:10.0.0.156 #配置数据库服务器 [root@centos8 ~]# yum -y install ma ...
- B站【挽救小白第一季】前端代码记录笔记
1. 新建工程命令: $ vue init mpvue/mpvue-quickstart my-project 参考mpvue官方快速入门:http://mpvue.com/mpvue/quickst ...
- UVM——通过一个简单的testbench来了解UVM组件的phase执行顺序
先写好一个top.sv 查看代码 // 导入VCS或者Modelsim自带的UVM库和宏 `include "uvm_macros.svh" import uvm_pkg::*; ...
- 【剑指Offer】【数组】数组中出现次数超过一半的数字
题目:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字.例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}.由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2.如果 ...
- [版本控制-Git]-git学习总结
1.如何将本地的文件添加到已经建好的远程分支上: 1.1 本地文件夹内,右键-git bash - 创建新仓 git init 1.2 git remote add origin 远程仓库的githu ...
- 有关谷歌下载PDF文件而不是直接打开预览的问题
找了很多帖子,都不行, 解决方法把链接处理成blob文件再调用下载. 但是仍然不行,最终原因找到: 缺少了这一部创建,需要把二进制数据重新用 Blob对象申明下 let data = new Blob ...
- 2022-05-30内部群每日三题-清辉PMP
1.对于一个长期的基础设施项目,由于全球商业环境,项目经理必须获得风险最小的供应商.项目经理应该使用什么合同类型? A.固定总价合同(FFP) B.成本加固定费用合同(CPFF) C.总价加激励费用合 ...
- 2022-05-11内部群每日三题-清辉PMP
1.一个低概率/高影响的技术风险发生了. 项目经理该怎么做? A. 提交变更请求来调整成本和进度基准 B. 进行风险审查,评估其对项目可交付成果的影响 C. 实施风险登记册中概述的减轻计划 D. 查询 ...
- unittestreport生成报告介绍
unittestreport主要有以下几个作用 接口用例HTML 测试报告生成. 测试用例失败重运行. 发送测试结果及报告到邮箱. 发送报告到钉钉群. 安装unittestreport: pip3 ...
- [737] Interlude OpCodez
[737] Interlude Client 00 SendProtocolVersion 01 MoveBackwardToLocation 02 Say 03 RequestEnterWorld ...