Docker常用命令-全

Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。
Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。
Docker 要求 CentOS 系统的内核版本高于 3.10 
 
查看服务器linux版本
cat /etc/redhat-release
查看当前服务内核版本
uname -r
查看当前yum服务的版本信息
yum info yum 
 
了解一下Systemctl的作用
Systemctl是一个systemd工具,主要负责控制systemd系统和服务管理器。
Systemd是一个系统管理守护进程、工具和库的集合,用于取代System V初始进程。Systemd的功能是用于集中管理和配置类UNIX系统。
 
使用Curl的方式下载get-docker.sh的脚本到当前目录
 
在当前目录 执行 ./get-docker.sh  或者  sudo sh get-docker.sh (分别都表示 执行当前docker的安装脚本 )
启动Docker进程
sudo systemctl start docker
关闭当前Docker进程
sudo systemctl stop docker
重启Docker进程
sudo systemctl restart docker
 
删除Docker CE
sudo yum remove docker-ce
sudo rm -rf /var/lib/docker
 
----------------------------------Docker进程启动后--------------------------
默认Docker官方网址为: https://www.docker.com/
此处使用docker login
输入账号:arnoldzhao 密码:arnoldzhao 或者 X3x9rXsMyc2QmSX 
-------------------------------镜像配置---------------------------
/etc/docker下创建daemon.json文件,并填充json内容为:
网易的镜像地址
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
或者(Docker国内的镜像地址)
{
  "registry-mirrors": ["https://registry.docker-cn.com"]
}
最后,重启docker进程 
systemctl restart docker
查看当前Docker的信息
docker info 
此处可以看到当前docker的注册地址是 index.docker.io,但当前docker的仓库镜像地址已经更改为了上述所设置的,网易云的镜像地址

 
 
查看当前Docker使用状态,可以得到Docker的一些基本信息以及报错等信息 
systemctl status docker -l
 
--------------------------------------------Docker images操作-------------------------------
从仓库中查找对应的jdk8的镜像信息
docker search jdk8
下拉仓库获取hello-word的镜像信息
docker image pull hello-word
查看当前Docker所有镜像信息
docker image ls  或者 docker images
docker images -q ,其中-q表示列取出当前所有镜像的ID
docker images -f  since=mongo:3.2 ,其中-f表示进行筛选,此处表示获取所有在mongo:3.2之后建立的镜像信息(-f筛选功能强大,可以去多多查看一些其它的使用方式)
删除当前镜像信息
docker image rm [imageName]
docker image rm $(docker images -q)  通过docker images -q 获取到所有的镜像ID后,进行docker image rm 的批量删除操作
------------------------------------------------Docker run操作 及相关Docker命令----------------------------------------
-d表示设置容器在后台一直运行,-p 表示将主机上的8088端口映射到容器的80端口上, --name表示指定当前启动后容器的名称,此处nginx表示所要启动的镜像
docker run -d -p 8088:80 --name nginx2019 nginx
表示查看容器内存所运行的进程
docker top nginx2019 
表示查看当前容器的底层记录描述信息
docker inspect nginx2019
查看容器标准输出日志
docker logs -f nginx2019
停止容器
docker stop nginx2019
重启容器
docker start nginx2019
移除容器
docker rm nginx2019 ,或者使用 docker rm $(docker images -q)表示删除所有容器
进入容器的交互式终端
docker exec -it nginx2019 /bin/bash
使用commit将当前容器制作为镜像信息         (使用docker commit将当前容器制作为镜像的方式可以很好的保留容器内的各种日志等信息)
命令格式:docker commit [选项] <容器ID或容器名> [<仓库名>[:<标签>]]
docker commit  --author "20190725arnold" --message "update index.html" nginx2019 nginx2019:v1
再次使用docker ps -a即可看到新生成的镜像信息,其中新的镜像仓库信息为:nginx2019,当前版本 tag标签则为 v1,
将容器内文件与主机文件互相拷贝
将当前docker-name的容器内文件拷贝到主机的/opt目录下
docker cp docker-name:/opt/test.js /opt
 
将当前主机上/opt/test.js文件拷贝到 容器docker-name的opt目录下
docker cp /opt/test.js docker-name:/opt
 
目录挂载:使用-v参数,:前面的目录表示主机上的目录,后面的目录表示容器内目录,此处则表示将当前主机的/opt/test目录挂载到容器内的/soft目录下
docker run -v /opt/test:/soft 
 
Docker镜像打包(注意:是将当前镜像打包)
docker save -o 文件名.tar 镜像名称
docker save 镜像名称>/opt/文件名.tar
 
将对应的打包镜像加载到对应的Docker镜像中
docker load < 文件名.tar
 
-----------------------需注意:save,export以及load和import;这两种打包方式不能被混用------------------------------
 
Docker容器打包(将已运行的容器内所有文件归档打包到对应的tar文件中)
docker export  -o nginx.tar 容器名称(nginx-sip)
 
将所归档的容器文件导入为镜像
docker import nginx.tar nginx:v1
 
Docker的三种安装方式(离线安装,Docker存储库安装,脚本安装) https://www.cnblogs.com/zh94/p/11294853.html
 
--------------------------------------------Dockerfile相关---------------------------------
docker inspect命令,查看当前镜像的所有元数据信息(查看对应的元数据最重要的是可以看到当前镜像的构建命令以及代码等信息***很重要,可以在刚拉下来一个镜像的时候,在不了解的时候,通过元数据可以很清晰的看到对应的镜像过程和所启动时的执行命令,这对于刚接触一个镜像时可以更快的熟悉起来,而不用尝试着去担心镜像中丢失了那些数据或者作者没有构建进去等问题,毕竟通过元数据一切都一目了然)
docker inspect 【镜像名称 或者 容器名称】
使用Docker Build构建对应的Dockfile的镜像信息
docker build命令说明:docker build [选项] <上下文路径/URL/->;   可参考链接如下:
其中 -t 表示当前构建后的镜像名称;此处‘.’表示指明当前的上下文路径,也就是当前输入build命令时,当前所在的目录路径;
当使用copy命令时,COPY ./package.json /app/时,则表示获取当前上下文路径下的JSON文件,然后拷贝到对应的容器APP目录下;
docker build -t nginx:v3 .
此处-f 表示指明要构建的Dockerfile文件的路,(如果不指定当前Dockerfile的路径,则默认会读取当前所指定的上下文路径中的Dockerfile作为构建文件而构建),‘.’ 还是用来指定当前的上下文路径是哪里,此处使用'.',表示当前上下文路径为当前使用build命令时,所在的文件目录路径 。
docker build -t nginx:v3 -f /opt/Dockerfile . 
-----------------------------------Dockerfile语法相关-----------------------
COPY复制文件:语法:COPY [--chown=<user>:<group>] <源路径>... <目标路径>
表示将当前主机服务上下文路径中的 package.json文件,拷贝到对应的容器/opt/app目录下,中间空格隔开,表示语法规范,其中如果所指定的目标路径在对应容器中不存在时,则容器将会自动创建;除此之外,拷贝到容器内的文件,也可以直接使用--chown来设置当前文件的权限;
COPY package.json /opt/app/ 
 

Docker常用命令-全的更多相关文章

  1. 关于Docker 常用命令

    Docker 常用命令 分类列一下常用的CLI命令 仓库相关 search/ pull / push / login etc. 例:docker pull ubuntu 从仓库下载ubuntuimag ...

  2. 【Docker】(3)---linux部署Docker、Docker常用命令

    linux部署Docker.Docker常用命令 本次部署Linux版本:CentOS 7.4 64位. 说明: 因为Docker是基于Linux 64bit的 所以Docker要求64位的系统且内核 ...

  3. Docker常用命令(二)

    Docker常用命令 查看Docker所有正在运行的容器 docker ps 查看Docker已退出的容器 docker ps -a 查看Docker所有镜像 docker images 删除镜像 删 ...

  4. Docker应用二:docker常用命令介绍

     Docker常用命令使用介绍 docker中常用的命令: 1.docker search image_name:搜查镜像 2.docker pull image_name:从镜像库中拉去镜像 3.d ...

  5. Docker常用命令汇总,和常用操作举例

    Docker命令 docker 常用命令如下 管理命令: container 管理容器 image 管理镜像 network 管理网络 node 管理Swarm节点 plugin 管理插件 secre ...

  6. 1021 docker常用命令和Jenkins搭建

    docker常用命令 1.镜像管理 docker pull (镜像名) # 默认拉取最新版本的镜像 docker pull (镜像名:版本号) #拉取指定版本的镜像 docker push (镜像名) ...

  7. Docker 常用命令——镜像

    Docker 常用命令 帮助命令 docker version    --版本信息 docker info       --详细信息 docker --help     --帮助 镜像命令 1.doc ...

  8. docker 常用 命令

    http://os.51cto.com/art/201409/451117.htm 2.1 在测试机启动容器,安装ssh docker run -i -t ubuntu /bin/bash #此方式运 ...

  9. Docker 常用命令总结

    Docker 常用命令总结   回到顶部 镜像相关 搜索 docker search *image_name* 下载 docker pull *image_name* 查看 docker images ...

随机推荐

  1. 2019-11-4:渗透测试,bypass学习,笔记

    编码方式过wafurl编码,针对特殊情况可以两次URL编码十六进制编码,针对某些数据,如特殊字符,特殊字符串等unicode编码,使用两个字节编码一个字符,高位不足使用0填充单引号:%u0027.%u ...

  2. 2019-9-25:渗透测试,基础学习,初识Hydra,BP爆破密码

    一,使用Hydra爆破ubuntu的SSH服务 输入命令,hydra -l root -P password.txt 192.168.20.128 ssh Hydra工具,基本参数说明 -l:指定用户 ...

  3. .Net Core使用分布式缓存Redis:基础

    一.前言 Redis的介绍网上很多不再赘述.本次环境为net core 2.2,使用的StackExchange.Redis来操作Redis. 二.引用Microsoft.Extensions.Cac ...

  4. Android利用碎片fragment实现底部标题栏(Github模板开源)

    在安卓开发当中,一个十分重要的布局则是底部标题栏了,拥有了底部标题栏,我们就拥有了整个软件UI开发的框架,一般而言,整个软件的布局首先就是从底部标题栏开始构建,然后再开始其他模块的编写,组成一个完善的 ...

  5. 堆模板(STL版)

    题目描述 如题,初始小根堆为空,我们需要支持以下3种操作: 操作1: 1 x 表示将x插入到堆中 操作2: 2 输出该小根堆内的最小数 操作3: 3 删除该小根堆内的最小数 输入输出格式 输入格式: ...

  6. centos 7 MysSQL 5.7.23 源码安装

    MySQL 5.7.23 源码安装 CentOS 7 将默认数据库MySQL替换成了Mariadb. 这里会从系统的环境准备开始一步一步安装. 环境准备 系统版本 内核版本 IP地址 Centos 7 ...

  7. NSURLConnection发送GET请求

    // ViewController.m // 04-掌握-NSURLConnection发送GET请求 // // Created by xiaomage on 16/2/22. // Copyrig ...

  8. DBCP2的使用例子和源码详解(不包括JNDI和JTA支持的使用)

    目录 简介 使用例子 需求 工程环境 主要步骤 创建项目 引入依赖 编写jdbc.prperties 获取连接池和获取连接 编写测试类 配置文件详解 数据库连接参数 连接池数据基本参数 连接检查参数 ...

  9. 【已解决】解决IntelliJ IDEA控制台输出中文乱码问题

    IntelliJ IDEA 真的是一款很方便的Java开发工具,但是关于中文乱码这个问题我不得不吐槽,这个编码也弄得这么麻烦干嘛,真想找idea开发者干架,我敢打包票我能在一分钟之内一拳飞过去让他跪下 ...

  10. luogu P3572 [POI2014]PTA-Little Bird

    题目描述 从1开始,跳到比当前矮的不消耗体力,否则消耗一点体力,每次询问有一个步伐限制,求每次最少耗费多少体力 单调队列优化动态规划 #include<cstdio> #include&l ...