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. 小白学 Python 爬虫(6):前置准备(五)爬虫框架的安装

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  2. C/C++ 条件编译静态库

    ==>windows 下方法: 1.方法一:VS工程中中直接添加 1.1在VS的属性->常规->附加库目录,添上文件夹的路径:例如:lib/x64: 1.2输入的附加依赖项,添加上库 ...

  3. MyBaits框架入门总结

    MBaits简介 联系方式:18873247271(微信同步) 廖先生 qq:1727292697 MyBatis的前身叫iBatis,本是apache的一个开源项目, 2010年这个项目由apach ...

  4. 探索 IPv6 网络

    目录 0x00 前言 0x01 探索 服务器配置 IPv6 地址 服务器部署网络代理 客户端配置网络代理 测试访问 IPv6 地址 给博客添加 IPv6 地址 0x00 前言 IPv4 地址枯竭的事情 ...

  5. python核心编程笔记(转)

    解释器options: 1.1 –d   提供调试输出 1.2 –O   生成优化的字节码(生成.pyo文件) 1.3 –S   不导入site模块以在启动时查找python路径 1.4 –v   冗 ...

  6. sql注入问题回顾

    (以下语法均为在python中使用mysql语句,部分代码省略,使用python中的pymsql模块获取游标对象即可直接执行sql语句) sql注入:在传入参数的时候做出改变,使得插入数据这条sql语 ...

  7. 对 /langversion 无效;必须是 ISO-1、ISO-2、3、4、5 或 Default

    反编译或者.net用更高版本打开时会出现这个问题,解决办法如下: 1.网页版程序,将解决方案中的Web.config中的 /langversion 的值改为指定的值,既可以解决,我这里采用的是默认值, ...

  8. 【数据结构】之链表(Java语言描述)

    以前写过一篇帖子,记录了链表在C语言中的描述代码.C语言中没有链表的直接实现,因此,我们需要自己编写代码实现.请参考[我的这篇文章]. Java中默认为我们提供了链表的API—— LinkedList ...

  9. No provider available for the service com.xxx.xxx 错误解决

    HTTP Status 500 - Servlet.init() for servlet springmvc threw exception type Exception report message ...

  10. 进入编辑模式、vim命令模式、vim实践

    第4周第5次课(4月13日) 课程内容:5.5 进入编辑模式5.6 vim命令模式5.7 vim实践 5.5 进入编辑模式 所谓编辑模式就是进入到一个可以编辑文本文档的模式,常规的方式就是按小i进入编 ...