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 ...
随机推荐
- JDK的版本有多少种,Java开发者应该选择哪一种?
JDK的版本有多少种,Java开发者应该选择哪一种?先说结果,一般情况下,我们多数会选择OpenJDK或者AdoptOpenJDK的JDK实现,因为这是最精简最标准的版本,而且没有商业风险.另外,需要 ...
- 判断js对象每个字段是否为空
for(var key in obj) { if (!obj[key])return; }
- Hanlp 在Python环境中安装、介绍及使用
Hanlp HanLP是由一系列模型与算法组成的Java工具包,目标是普及自然语言处理在生产环境中的应用.HanLP具备功能完善.性能高效.架构清晰.语料时新.可自定义的特点. 功能:中文分词 词性标 ...
- VUE学习-mixin混入
mixin混入 混入 (mixin) 提供了一种非常灵活的方式,来分发 Vue 组件中的可复用功能. 组件式混入 // 定义一个混入对象 var myMixin = { created: functi ...
- mac 暗黑破坏神2
https://590m.com/f/28636472-500475496-61a14b (访问密码:7410) 此版本可以更改人员属性参数,过程有点复杂,如需了解,请留言+v沟通吧... 编辑 ...
- pandas-数据结构转换-纵转横
如下代码,亲测有效,后面会附上入口以及出口数据结构截图 def test_func(file_path): """ 把pandas数据结构-dataframe,横向的索引 ...
- react-router V6踩坑
useRoutes() may be used only in the context of a <Router> component.需要将BrowserRouter放到外层,放到APP ...
- UF_CURVE_ask_arc_data圆弧角度
1 UF_CURVE_arc_t Obj_data; 2 UF_CURVE_ask_arc_data(tObject[i], &Obj_data); 3 double Sp = Obj_dat ...
- C#封装FluentValidation
FluentValidation是一个非常强大的用于构建强类型验证规则的 .NET 框架,帮程序员解决了繁琐的校验问题,用起来非常爽,但我还是遇到了一件非常不爽的事情,如下代码所示: public c ...
- Chrome浏览器提示您的连接不是私密连接解决办法
解决方案: 是在当前页面用键盘输入 thisisunsafe ,不是在地址栏输入,就直接敲键盘就行了,页面即会自动刷新进入网页. 原因: 因为Chrome不信任这些自签名ssl证书,为了安全起见,直接 ...