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. day 23 复习

    本来应该学习day23,由于上午未学习,下去困,导致今天未进行进度 那就做一下简单的复习吧! 1. while else结构,如果while 后的条件条件不再满足 引发循环再继续,则执行else中的内 ...

  2. 在Windows系统中构建还原ASP.NET Core 源码

    大家好,这几天试着从Github上拉取AspNetCore的源码,尝试着通过Visual Studio 打开,但是并不尽人意.我们需要去构建我们拉去的源代码,这样才可以通过VisualStudio可还 ...

  3. js对象可扩展性和属性的四个特性(上)

    # js对象可扩展性和属性的四个特性(上) 一.前言 再次花时间回顾一下基础,毕竟要想楼建的好,地基就要牢固,嘻嘻! 在开始之前需要具备对prototype.__proto__.constructor ...

  4. java之扩展运算符

    java中的扩展运算符为+=.-=./=.%=.*= 当使用扩展运算符时,变量在参与赋值运算时会把结果自动强制转换为当前变量的类型,比如: public class Test{ public stat ...

  5. Mybatis动态查询

    需要导入的jar包: 实体类User: package com.bjsxt.pojo; import java.io.Serializable; public class User implement ...

  6. 用Java编程语言对一个无序整形数组进行排序(冒泡排序,选择排序,插入排序)

    public static void main(String[] args) { /** * 冒泡排序 * 思路:每个轮次都让第一个数和其后所有的数进行轮比较,如果这轮的第一个数大则和其下一个数交换位 ...

  7. nitacm第十六届浙江大学宁波理工学院程序设计大赛总结

    校赛时间:2019.11.30周六下午12:00-16:00 重现赛链接:https://ac.nowcoder.com/acm/contest/2995#question 体验: 11点多到达石鳞大 ...

  8. A.Two Rival Students

    题目:两个竞争的学生 链接:(两个竞争的对手)[https://codeforces.com/contest/1257/problem/A] 题意:有n个学生排成一行.其中有两个竞争的学生.第一个学生 ...

  9. Chapter 3 :代码的坏味道

    "如果尿布臭了,就换掉它." --Beck奶奶,论保持小孩清洁的哲学 代码的坏味道这一章集中论述该何时重构.具体的重构方法在后面的章节. "没有任何度量规矩比得上见识广博 ...

  10. elasticsearch-6.2.4 + kibana-6.2.4-windows-x86_64安装配置

    1.es和kibana的版本都是6.2.4 elasticsearch-6.2.4 + kibana-6.2.4-windows-x86_64 2.先安装es,下载下来解压, config目录下修改  ...