Docker:常用命令大全 [七]
一、docker的命令的解释
1、命令解释
docker run -d -p 80:80 nginx run (创建并运行一个容器)
-d 放在后台
-p 端口映射
nginx docker镜像的名字
2、配置docker镜像加速
vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://registry.docker-cn.com"]
} systemctl restart docker
3、docker容器是一种软件的打包技术,接下来我们体验一下
1、传统编译安装nginx:
官网下载Nginx源码包wget
tar解压源码包
创建Nginx用户
安装依赖包
编译安装三部曲configure,make,make install
修改nginx配置文件
启动nginx
2、docker容器
docker run -d -p 80:80 nginx
二、镜像常用命令
1、搜索镜像:
docker search
选镜像的建议:
1,优先考虑官方
2,starts数量多
2、获取镜像:
docker pull(push)
镜像加速器:阿里云加速器,daocloud加速器,中科大加速器,Docker 中国官方镜像加速:https://registry.docker-cn.com
docker pull centos:6.8(没有指定版本,默认会下载最新版)
docker pull daocloud.io/huangzhichong/alpine-cn:latest
扩展:查询docker镜像所有版本https://hub.docker.com/r/library/
3、查看删除导出
1、查看镜像
docker images
2、删除镜像
docker rmi 例子:docker image rm centos:latest
3、导出镜像
docker save 例子:docker image save centos > docker-centos7.4.tar.gz
docker save mysql:5.7> mysql-5.7.tar.gz
4、导入镜像
docker load 例子:docker load -i docker-centos7.4.tar.gz
三、容器常用命令
1、运行一个容器
docker run -d -p 80:80 nginx:latest
run (创建并运行一个容器)
-d 放在后台
-p 端口映射
nginx:latest docker镜像的名字和版本
还有很多其他的参数 docker run == docker create + docker start
2、进入到容器
进入容器的目的:排错,调试
进入容器的方法:
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
例子:
docker exec -it 容器id或容器名字 /bin/bash docker attach [OPTIONS] CONTAINER
例子:
docker attach 容器id或容器名字 nsenter(安装yum install -y util-linux 弃用)
3、停止删除容器命令
1、停止容器
docker stop CONTAINER_ID
2、杀死容器
docker kill container_name
3、查看容器列表
docker ps
docker ps –a docker ps –a -l
4、删除容器
docker rm
5、批量删除容器
docker rm -f `docker ps -a -q`
4、要获取所有容器名称及其IP地址只需一个命令。
docker inspect -f '{{.Name}} - {{.NetworkSettings.IPAddress }}' $(docker ps -aq)
如果使用docker-compose命令将是:
docker inspect -f '{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)
5、显示容器的所有IP
docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)
四、容器网络访问常用命令
docker run -it --name centos6 centos:6.8 /bin/bash
-it 分配交互式的终端
--name 指定容器的名字
/bin/sh 覆盖容器的初始命令 --cpus 指定cpu的数量
--memory 限定内存的大小
-h 指定容器的主机名
docker的本质是:在隔离的环境运行的一个进程
所以:docker容器内的第一个进程必须一直处于前台运行的状态(必须夯住),否则这个容器,就会处于退出状态!
1、运行容器为什么要使用端口映射?
默认,情况下,容器使用的ip是172.17.0.0/16网段的,外界的用户只能访问宿主机的10.0.0.0/24网段,
无法访问172.17.0.0/16网段。我们运行容器的目的:是希望运行在容器中的服务,能够被外界访问,
这里就涉及到了外网10.0.0.0/24到容器内网172.17.0.0/16网段的转换,所以需要做端口映射
2、指定映射(docker 自动添加一条iptables规则实现端口映射)
-p hostPort:containerPort
-p ip:hostPort:containerPort
-p ip::containerPort(随机端口)
-p hostPort:containerPort:udp
-p 81:80 -p 443:443 可以指定多个-p
3、随机映射
docker run -P (随机端口)
五、数据卷常用命令
1、数据卷的作用:
1:持久化容器运行过程中产生的数据文件
2:实现多个容器间的文件共享。
正常情况下,删除容器,容器中所有的文件也会被删除
2、数据卷常用命令
1、创建一个数据卷
docker volume create
2、查看数据卷列表
docker volume ls
3、删除一个数据卷
docker volume rm
4、查看一个数据卷的属性
docker volume inspect
3、docker数据卷运用一
docker volume create luoahong docker run -d -p 80:80 -v luoahong:/usr/share/nginx/html nginx:latest cd /var/lib/docker/volumes/luoahong/_data/
rm -f *
wget https://www.qstack.com.cn/xiaoniaofeifei.zip
unzip xiaoniaofeifei.zip docker run -d -p 81:80 -v luoahong:/usr/share/nginx/html nginx:latest
docker run -d -p 82:80 -v luoahong:/usr/share/nginx/html nginx:latest
4、把宿主机的目录挂载到容器中
cd /opt
mkdir xiaoniao
cd xiaoniao/
wget https://www.qstack.com.cn/xiaoniaofeifei.zip
unzip xiaoniaofeifei.zip
重点
docker run -d -p 83:80 -v /opt/xiaoniao:/usr/share/nginx/html nginx:latest
Docker:常用命令大全 [七]的更多相关文章
- Docker常用命令大全
1. 查看docker信息(version.info) # 查看docker版本 $docker version # 显示docker系统的信息 $docker info 2. 对image的操作(s ...
- Docker在centos上的安装与常用命令大全
docker的安装与加速器配置 安装docker:yum install docker (默认安装路径/var/lib/docker) 启动docker服务:systemctl start docke ...
- 【易筋经】Llinux服务器初始化及常用命令大全
Llinux服务器初始化及常用命令大全 1.关闭防火墙以及内核安全机制 systemctl stop firewalld systemctl disable firewalld ##永久性关闭 set ...
- db2常用命令大全
#显示这个DB2错误的解释信息(SQLSTATE 5位数字)db2 ? 42704 #显示这个SQLCODE的解释信息(SQLCODE 四位数字) db2 ? SQL0204N ##查看数据库指定配置 ...
- Linux常用命令大全(全面)
笔者在这篇文章中跟大家分享一下接近 100 个 Linux 常用命令大全,希望可以帮助到大家. 1.ls [选项] [目录名 | 列出相关目录下的所有目录和文件 1 2 3 4 5 6 7 8 9 1 ...
- linux 常用命令大全
linux 常用命令大全 系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统 ...
- Ubuntu常用命令大全(转)
点评:Ubuntu常用命令大全,学习ubuntn系统的朋友可以收藏下,用ctrl+F查找即可 一.文件/文件夹管理 ls 列出当前目录文件(不包括隐含文件) ls -a 列出当前目录文件(包括隐含文件 ...
- 关于Docker 常用命令
Docker 常用命令 分类列一下常用的CLI命令 仓库相关 search/ pull / push / login etc. 例:docker pull ubuntu 从仓库下载ubuntuimag ...
- 100个命令Linux常用命令大全
Linux常用命令大全100条: 1,echo "aa" > test.txt 和 echo "bb" >> test.txt//>将原 ...
随机推荐
- Asp.Net Core 实现服务的批量注册注入
- SQL数据库一些系统语法含义
昨天在数据库中建立数据表的时候要求显示的添加一些系统语法规则,对于这些设置不知道都是什么含义,这次记录下来供以后学习. (1)SET ANSI_NULLS ON语句 T-SQL支持在与空值进行比较时, ...
- python之sqlalchemy的使用
准备数据 from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import Column from sqla ...
- spark-RDD源码分析
http://stark-summer.iteye.com/blog/2178096 RDD的核心方法: 首先看一下getPartitions方法的源码: getPartitions返回的是一系列pa ...
- MySQL之表相关操作
一 存储引擎介绍 存储引擎即表类型,mysql根据不同的表类型会有不同的处理机制 详见:http://www.cnblogs.com/linhaifeng/articles/7213670.html ...
- 实战申请Let's Encrypt永久免费SSL证书过程教程及常见问题
最近需要https这里看到一份不错的博客,收录一下! Let's Encrypt作为一个公共且免费SSL的项目逐渐被广大用户传播和使用,是由Mozilla.Cisco.Akamai.IdenTrust ...
- CodeChef Dynamic GCD
嘟嘟嘟vjudge 我今天解决了一个历史遗留问题! 题意:给一棵树,写一个东西,支持一下两种操作: 1.\(x\)到\(y\)的路径上的每一个点的权值加\(d\). 2.求\(x\)到\(y\)路径上 ...
- Docker镜像拉不下来?试试这些
DaoCloud 加速器1.0(永久免费) DaoCloud是国内第一家Dock Hub加速器提供商 注意,加速器 2.0 需要使用 DaoCloud 自己的云服务器才可以使用.官方宣称会继续支持加速 ...
- iOS开发基础篇-transform属性
一. transform 属性 在OC中,通过 transform 属性可以修改对象的平移.缩放比例和旋转角度. 1)创建“基于控件初始位置”的形变 CGAffineTransformMakeRot ...
- 利用cocoapods管理开源项目,支持 pod install安装整个流程记录(github公有库)
利用cocoapods管理开源项目,支持 pod install安装整个流程记录(github公有库),完成预期的任务,大致有下面几步: 1.代码提交到github平台 2.创建.podspec 3. ...