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 ...
随机推荐
- mysql的数据操作
INSERT [INTO] 表名 [(字段名1,...)] {VALUES | VALUE} ({expr | DEFAULT},...),(...),... 说明:主键列是自动增长,但是在全列插入时 ...
- 如何简化跨网络安全域的文件发送流程,大幅降低IT人员工作量?
为什么要做安全域的隔离? 随着企业数字化转型的逐步深入,企业投入了大量资源进行信息系统建设,信息化程度日益提升.在这一过程中,企业也越来越重视核心数据资产的保护,数据资产的安全防护成为企业面临的重大挑 ...
- Python中的__new__()方法
1.__new__()至少要有一个参数cls,代表当前类,此参数在实例时由python解释器自动识别, 2.__new__()必须要有返回值,返回实例化出来的实例,这点在自己实现__new__时要特别 ...
- Chrome浏览器崩溃
1.使用Win+R打开运行对话框,输入regedit,点击确定打开注册表: 2.找到"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome&q ...
- 下载nodejs和vue
下载nodejs https://nodejs.org/en 下载或更新npm npm install cnpm -g npm install -g vue 全局安装 创建一个基于 "web ...
- 阶梯场景jp@gc - Stepping Thread Group (deprecated)
1.新建线程,添加配置元件.监听器 由上可见: 需要启动100个线程, 然后间隔30s就持续5s去启动10个线程, 那么就需要这样重复操作10次,才能100个线程全部启动. 最后整体100个线程持续运 ...
- VS2010 发布网站总是连同cs文件一起发布了
选择第一个,保存再发布.cs文件 都删除了.
- 杭电oj 偶数求和
Problem Description 有一个长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数,现在要求你按照顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值 ...
- 题解[CF575E]Spectator_Riots
题意 一个球场,可以看作 \(10^5\times10^5\) 的矩形,每个位置都是一个整点.一个位置 \((x,y)\) 位于球场内当且仅当 \(x\in[0,10^5]\and y\in[0,10 ...
- CTreeCtrl的用法汇总(转)
一 基础操作 1 插入节点 1)插入根节点 //插入根节点 HTREEITEM hRoot; CString str=L"ROOT" hRoot=nTreeCtrl.Insert ...