安装docker的方法可以参考:UbuntuCentOSWindowsMacOS

  

查看版本信息

  1. ~ $ docker --version
  2. Docker version 18.03.1-ce, build 9ee9f40
  3. ~ $ docker -v
  4. Docker version 18.03.1-ce, build 9ee9f40

  

查看docker系统范围的信息

  1. ~ $ docker info
  2. Containers: 10
  3. Running: 1
  4. Paused: 0
  5. Stopped: 9
  6. ..........省略了很多信息

  

拉取镜像

  语法:docker pull [OPTIONS] image_name[:TAG|@DIGEST]

  如果省略tag,则表示拉取镜像的最新版,即latest

  1. ~ $ docker pull ubuntu:16.04
  2. 16.04: Pulling from library/ubuntu
  3. b234f539f7a1: Pull complete
  4. 55172d420b43: Pull complete
  5. 5ba5bbeb6b91: Pull complete
  6. 43ae2841ad7a: Pull complete
  7. f6c9c6de4190: Pull complete
  8. Digest: sha256:b050c1822d37a4463c01ceda24d0fc4c679b0dd3c43e742730e2884d3c582e3a
  9. Status: Downloaded newer image for ubuntu:16.04

  

查看镜像的列表

  1. ~ $ docker images
  2. REPOSITORY TAG IMAGE ID CREATED SIZE
  3. ubuntu 16.04 5e8b97a2a082 3 weeks ago 114MB
  4. ~ $ docker image ls
  5. REPOSITORY TAG IMAGE ID CREATED SIZE
  6. ubuntu 16.04 5e8b97a2a082 3 weeks ago 114MB

  

让指定的镜像运行指定的命令

  语法:docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

  1. ~ $ #让ubuntu:16.04这个镜像执行echo demo命令
  2. ~ $ docker run ubuntu:16.04 /bin/echo demo
  3. demo

  

运行某个镜像,并进入他的终端

  同样是dcoker run命令,只不过要增加两个参数 -t 表示运行终端,-i 表示允许镜像接收输入,如果没有-i选项,虽然可以进入镜像的终端,但是终端中却不会执行输入的命令。

  1. ~ $ docker run -t ubuntu:16.04
  2. root@f2b4c76ecd31:/# echo demo #不会执行
  3. ^C
  4. ~ $ docker run -t -i ubuntu:16.04 #加上-i选项之后,才会接收命令,并执行,然后返回结果
  5. root@d4f1a80e3e03:/# echo demo
  6. demo
  7. root@d4f1a80e3e03:/#

  

删除镜像

  语法:docker rmi [OPTIONS] images:tag [image_name:tag...]

  1. ~ $ docker rmi ubuntu:16.04
  2. Error response from daemon: conflict: unable to remove repository reference
  3. "ubuntu:16.04" (must force) - container eaf56a153cfc is using its referenced
  4. image 5e8b97a2a082
  5. ~ $ docker rmi -f ubuntu:16.04
  6. Untagged: ubuntu:16.04
  7. Untagged: ubuntu@sha256:b050c1822d37a4463c01ceda24d0fc4c679b0dd3c43e742730e28
  8. 84d3c582e3a
  9. Deleted: sha256:5e8b97a2a0820b10338bd91674249a94679e4568fd1183ea46acff63b9883e9c

  删除镜像后,镜像所占的空间并不会立即释放。

登录到镜像库

  语法:docker login [OPTIONS] [SERVER]

  如果不指定server时,默认的是登录到docker hub,地址是:https://hub.docker.com/,注册之后登录。

  如果你登录的是hub.docker.com,那么就不要再server的位置写hub.docker.com

  1. ~ $ docker login
  2. Login with your Docker ID to push and pull images from Docker Hub.
  3. If you don't have a Docker ID,
  4. head over to https://hub.docker.com to create one.
  5. Username: ******
  6. Password:
  7. Login Succeeded

  

  如果是在shell脚本中登录到docker仓库,可以使用-u 和-p选项

  1. #!/bin/bash
  2. #登录到镜像仓库
  3.  
  4. #登录到外网的hub.docker.com
  5. #docker login -u username -p userpwd
  6.  
  7. #登录到hub.server.com
  8. #docker login -u username -p userpwd hub.server.com

  

退出登录

  和登录过程类似

  1. ~ $ docker logout #默认是从hub.docker.com退出
  2. Removing login credentials for https://index.docker.io/v1/
  3. ~ $
  4. ~ $ docker logout hub.whichserver.com #从hub.whichserver.com退出
  5. Not logged in to hub.whichserver.com

  

对容器进行操作

  1. ~ $ docker ps #查看正在运行的容器
  2. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  3. 2b76729da804 training/webapp "python app.py" 14 hours ago Up 14 hours 0.0.0.0:32768->5000/tcp hardcore_meitner
  4. ~ $
  5. ~ $
  6. ~ $ docker pause 2b76729da804 #暂停容器运行
  7. 2b76729da804
  8. ~ $
  9. ~ $
  10. ~ $ docker ps #查看正在运行的容器
  11. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  12. f2b4c76ecd31 ubuntu:16.04 "/bin/bash" 3 hours ago Up 3 hours pedantic_leavitt
  13. f8b790400a64 ubuntu:16.04 "/bin/bash" 3 hours ago Up 3 hours competent_ride
  14. ~ $ docker stop f2b4c76ecd31 #停止容器的运行
  15. f2b4c76ecd31
  16. ~ $ docker start f2b4c76ecd31 #启动一个被停止的容器
  17. f2b4c76ecd31
  18. ~ $ docker ps #查看正在运行的容器
  19. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  20. f2b4c76ecd31 ubuntu:16.04 "/bin/bash" 3 hours ago Up 4 seconds pedantic_leavitt
  21. ~ $ docker start f2b4c76ecd39 # 错误,因为容器ID错误,没有改容器
  22. ~ $
  23. ~ $
  24. ~ $ docker rm f2b4c76ecd31 #删除一个正在运行的容器会失败,需要先将运行的容器stop之后,再进行rm
  25. Error response from daemon: You cannot remove a running container
  26. f2b4c76ecd31589e4393676865cd055dd660553f2428bcdfe52dc8a451beee97.
  27. Stop the container before attempting removal or force remove
  28. ~ $ docker ps
  29. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  30. f2b4c76ecd31 ubuntu:16.04 "/bin/bash" 4 hours ago Up 4 minutes pedantic_leavitt
  31. ~ $ docker stop f2b4c76ecd31 #停止容器运行
  32. f2b4c76ecd31
  33. ~ $ docker rm f2b4c76ecd31 #删除一个已经停止的容器
  34. f2b4c76ecd31

  注意:删除容器使用的rm,删除镜像使用rmi

上传镜像

  标记镜像  docker tag exists_image:tag  new_image_name:new_tag

  1. ~ $ docker images
  2. REPOSITORY TAG IMAGE ID CREATED SIZE
  3. ubuntu 16.04 5e8b97a2a082 3 weeks ago 114MB
  4. ~ $ docker ubuntu:16.04 my_img:v1
  5. docker: 'ubuntu:16.04' is not a docker command.
  6. See 'docker --help'
  7. ~ $ docker tag ubuntu:16.04 my_img:v1
  8. ~ $ docker images
  9. REPOSITORY TAG IMAGE ID CREATED SIZE
  10. my_img v1 5e8b97a2a082 3 weeks ago 114MB
  11. ubuntu 16.04 5e8b97a2a082 3 weeks ago 114MB
  12. ~ $

  

  上传镜像 

  注意,

  1、在上传镜像之前,要先登录。

  2、你的docker仓库必须要有一个repository,然后你才可以将你的镜像push到这个repository中,否则你的操作就是非法的。

  3、进行打tag时,new_image_name其实就是repository的名字,new_tag就是上传之后,你的镜像版本。

  比如,有一个ganlixin/ubuntu仓库,那么,

  1. ~ $ docker tag ubuntu:16.04 ganlixin/centos:v1
  2. ~ $ docker push ganlixin/centos:v1
  3. The push refers to repository [docker.io/ganlixin/centos]
  4. 2de391e51d73: Pushed
  5. d73dd9e65295: Pushed
  6. 686245e78935: Pushed
  7. d7ff1dc646ba: Pushed
  8. 644879075e24: Pushed
  9. v1: digest: sha256:689aa49d87d325f951941d789f7f7c8fae3394490cbcf084144caddba9c1be12 size: 1357
  10. ~ $

  登录docker,查看tag

  

  

学习docker——命令总结的更多相关文章

  1. 记录学习docker命令的随笔

    docker安装与启动 安装docker yum包更新到最新  sudo yum update 安装需要的软件包  sudo yum install -y yum-utils device-mappe ...

  2. Docker命令学习

    今天更换腾讯云系统的时候发现了多了个CoreOS,据说是专门运行docker的轻量系统,顺便学习一下docker命令. 1. docker version 显示 Docker 版本信息. 2. doc ...

  3. docker命令行学习

    docker命令行学习 docker run docker run --help:老实说这条最管用了 docker run -it:交互模式,允许控制台输出 docker run -d:detach, ...

  4. Docker 学习之命令篇

      Docker 学习之命令篇 1. docker images //镜像列表 2. docker ps –a //所有运行过的容器 3. docker ps –l 最后运行的容器 4. docker ...

  5. Docker学习--->>Docker的认识,安装,及常用命令熟悉

    Docker是什么? 在平常的软件开发中,会面临着开发不同的程序或服务需要不同的环境.而在该环境上开发完成后,想要在其他的环境上部署,则需要自己去重新部署,而Docker的出现使得这样的迁移变得容易. ...

  6. docker学习(六) Docker命令查询

    Docker命令查询 1.基本语法docker [OPTIONS] COMMAND [arg...]一般来说,Docker 命令可以用来管理 daemon,或者通过 CLI 命令管理镜像和容器.可以通 ...

  7. Docker命令详解

    Docker命令详解   最近学习Docker,将docker所有命令实验了一番,特整理如下: # docker --help Usage: docker [OPTIONS] COMMAND [arg ...

  8. Docker入门教程(六)另外的15个Docker命令

    Docker入门教程(六)另外的15个Docker命令 [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第六篇,继续介绍Docker命令.之前的第二篇文章 ...

  9. 从零开始学习 Docker

      这篇文章是我学习 Docker 的记录,大部分内容摘抄自 <<Docker - 从入门到实践>> 一书,并非本人原创.学习过程中整理成适合我自己的笔记,其中也包含了我自己的 ...

随机推荐

  1. June 1. 2018 Week 22nd Friday

    What makes life dreary is the want of motive. 没有了目的,生活便暗淡无光. We all have dreams about our future, we ...

  2. ArrayList和LinkedList在中间开始插入的快慢比较

    首先创建带数据的两个List, 然后在中间插入数据, 观察完成时间 public class Hero { public static void main(String[] args){ listAn ...

  3. Android Studio教程03-Activtiy生命周期的理解

    目录 1. Activity 1.1. 安卓中的Activity定义和特性: 1.2. 注册Activity 1. Intent filters:设置默认开启的activity 1.3. Activi ...

  4. Spring的AOP基于AspectJ的注解方式开发1

    参考自黑马培训机构 创建项目,引入jar包 编写目标类,切面类并完成配置 package spring.day2_aop2; /* * 编写目标类 */ public class OrderDao { ...

  5. python 基本数据类型--字符串实例详解

    字符串(str) :把字符连成串. 在python中⽤', ", ''', """引起来的内容被称为字符串 . 注意:python中没有单一字符说法,统一称叫字 ...

  6. 阿里云CentOS下nodejs安装

    1. 下载node包(包含npm) cd /usr/local/src/ wget https://nodejs.org/dist/v10.11.0/node-v10.11.0-linux-x64.t ...

  7. 使用Vuex心得

    之前一直都是看别人写的vuex感觉还挺好理解的,今天自己根据需求写了下vuex,一下子不知道怎么写了, 想要用好vuex还是先要知道原理: 参考好博客写的非常到位:https://www.cnblog ...

  8. 2.05-random-uesr-proxy

    import urllib.request def proxy_user(): proxy_list = [ {"https":""}, # {"ht ...

  9. 前端使用 Nginx 反向代理彻底解决跨域问题

    引入网址https://blog.csdn.net/larger5/article/details/81286324 1.请求后端数据失败 代码: <!DOCTYPE html> < ...

  10. JS学习实践(1) JavaScript 修改图像灯泡

    修改灯泡 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <titl ...