学习docker——命令总结
安装docker的方法可以参考:Ubuntu、CentOS、Windows、MacOS
查看版本信息
- → ~ $ docker --version
- Docker version 18.03.1-ce, build 9ee9f40
- → ~ $ docker -v
- Docker version 18.03.1-ce, build 9ee9f40
查看docker系统范围的信息
- → ~ $ docker info
- Containers: 10
- Running: 1
- Paused: 0
- Stopped: 9
- ..........省略了很多信息
拉取镜像
语法:docker pull [OPTIONS] image_name[:TAG|@DIGEST]
如果省略tag,则表示拉取镜像的最新版,即latest
- → ~ $ docker pull ubuntu:16.04
- 16.04: Pulling from library/ubuntu
- b234f539f7a1: Pull complete
- 55172d420b43: Pull complete
- 5ba5bbeb6b91: Pull complete
- 43ae2841ad7a: Pull complete
- f6c9c6de4190: Pull complete
- Digest: sha256:b050c1822d37a4463c01ceda24d0fc4c679b0dd3c43e742730e2884d3c582e3a
- Status: Downloaded newer image for ubuntu:16.04
查看镜像的列表
- → ~ $ docker images
- REPOSITORY TAG IMAGE ID CREATED SIZE
- ubuntu 16.04 5e8b97a2a082 3 weeks ago 114MB
- → ~ $ docker image ls
- REPOSITORY TAG IMAGE ID CREATED SIZE
- ubuntu 16.04 5e8b97a2a082 3 weeks ago 114MB
让指定的镜像运行指定的命令
语法:docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
- → ~ $ #让ubuntu:16.04这个镜像执行echo demo命令
- → ~ $ docker run ubuntu:16.04 /bin/echo demo
- demo
运行某个镜像,并进入他的终端
同样是dcoker run命令,只不过要增加两个参数 -t 表示运行终端,-i 表示允许镜像接收输入,如果没有-i选项,虽然可以进入镜像的终端,但是终端中却不会执行输入的命令。
- → ~ $ docker run -t ubuntu:16.04
- root@f2b4c76ecd31:/# echo demo #不会执行
- ^C
- → ~ $ docker run -t -i ubuntu:16.04 #加上-i选项之后,才会接收命令,并执行,然后返回结果
- root@d4f1a80e3e03:/# echo demo
- demo
- root@d4f1a80e3e03:/#
删除镜像
语法:docker rmi [OPTIONS] images:tag [image_name:tag...]
- → ~ $ docker rmi ubuntu:16.04
- Error response from daemon: conflict: unable to remove repository reference
- "ubuntu:16.04" (must force) - container eaf56a153cfc is using its referenced
- image 5e8b97a2a082
- → ~ $ docker rmi -f ubuntu:16.04
- Untagged: ubuntu:16.04
- Untagged: ubuntu@sha256:b050c1822d37a4463c01ceda24d0fc4c679b0dd3c43e742730e28
- 84d3c582e3a
- Deleted: sha256:5e8b97a2a0820b10338bd91674249a94679e4568fd1183ea46acff63b9883e9c
删除镜像后,镜像所占的空间并不会立即释放。
登录到镜像库
语法:docker login [OPTIONS] [SERVER]
如果不指定server时,默认的是登录到docker hub,地址是:https://hub.docker.com/,注册之后登录。
如果你登录的是hub.docker.com,那么就不要再server的位置写hub.docker.com
- → ~ $ docker login
- Login with your Docker ID to push and pull images from Docker Hub.
- If you don't have a Docker ID,
- head over to https://hub.docker.com to create one.
- Username: ******
- Password:
- Login Succeeded
如果是在shell脚本中登录到docker仓库,可以使用-u 和-p选项
- #!/bin/bash
- #登录到镜像仓库
- #登录到外网的hub.docker.com
- #docker login -u username -p userpwd
- #登录到hub.server.com
- #docker login -u username -p userpwd hub.server.com
退出登录
和登录过程类似
- → ~ $ docker logout #默认是从hub.docker.com退出
- Removing login credentials for https://index.docker.io/v1/
- → ~ $
- → ~ $ docker logout hub.whichserver.com #从hub.whichserver.com退出
- Not logged in to hub.whichserver.com
对容器进行操作
- → ~ $ docker ps #查看正在运行的容器
- CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
- 2b76729da804 training/webapp "python app.py" 14 hours ago Up 14 hours 0.0.0.0:32768->5000/tcp hardcore_meitner
- → ~ $
- → ~ $
- → ~ $ docker pause 2b76729da804 #暂停容器运行
- 2b76729da804
- → ~ $
- → ~ $
- → ~ $ docker ps #查看正在运行的容器
- CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
- f2b4c76ecd31 ubuntu:16.04 "/bin/bash" 3 hours ago Up 3 hours pedantic_leavitt
- f8b790400a64 ubuntu:16.04 "/bin/bash" 3 hours ago Up 3 hours competent_ride
- → ~ $ docker stop f2b4c76ecd31 #停止容器的运行
- f2b4c76ecd31
- → ~ $ docker start f2b4c76ecd31 #启动一个被停止的容器
- f2b4c76ecd31
- → ~ $ docker ps #查看正在运行的容器
- CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
- f2b4c76ecd31 ubuntu:16.04 "/bin/bash" 3 hours ago Up 4 seconds pedantic_leavitt
- → ~ $ docker start f2b4c76ecd39 # 错误,因为容器ID错误,没有改容器
- → ~ $
- → ~ $
- → ~ $ docker rm f2b4c76ecd31 #删除一个正在运行的容器会失败,需要先将运行的容器stop之后,再进行rm
- Error response from daemon: You cannot remove a running container
- f2b4c76ecd31589e4393676865cd055dd660553f2428bcdfe52dc8a451beee97.
- Stop the container before attempting removal or force remove
- → ~ $ docker ps
- CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
- f2b4c76ecd31 ubuntu:16.04 "/bin/bash" 4 hours ago Up 4 minutes pedantic_leavitt
- → ~ $ docker stop f2b4c76ecd31 #停止容器运行
- f2b4c76ecd31
- → ~ $ docker rm f2b4c76ecd31 #删除一个已经停止的容器
- f2b4c76ecd31
注意:删除容器使用的rm,删除镜像使用rmi
上传镜像
标记镜像 docker tag exists_image:tag new_image_name:new_tag
- → ~ $ docker images
- REPOSITORY TAG IMAGE ID CREATED SIZE
- ubuntu 16.04 5e8b97a2a082 3 weeks ago 114MB
- → ~ $ docker ubuntu:16.04 my_img:v1
- docker: 'ubuntu:16.04' is not a docker command.
- See 'docker --help'
- → ~ $ docker tag ubuntu:16.04 my_img:v1
- → ~ $ docker images
- REPOSITORY TAG IMAGE ID CREATED SIZE
- my_img v1 5e8b97a2a082 3 weeks ago 114MB
- ubuntu 16.04 5e8b97a2a082 3 weeks ago 114MB
- → ~ $
上传镜像
注意,
1、在上传镜像之前,要先登录。
2、你的docker仓库必须要有一个repository,然后你才可以将你的镜像push到这个repository中,否则你的操作就是非法的。
3、进行打tag时,new_image_name其实就是repository的名字,new_tag就是上传之后,你的镜像版本。
比如,有一个ganlixin/ubuntu仓库,那么,
- → ~ $ docker tag ubuntu:16.04 ganlixin/centos:v1
- → ~ $ docker push ganlixin/centos:v1
- The push refers to repository [docker.io/ganlixin/centos]
- 2de391e51d73: Pushed
- d73dd9e65295: Pushed
- 686245e78935: Pushed
- d7ff1dc646ba: Pushed
- 644879075e24: Pushed
- v1: digest: sha256:689aa49d87d325f951941d789f7f7c8fae3394490cbcf084144caddba9c1be12 size: 1357
- → ~ $
登录docker,查看tag
学习docker——命令总结的更多相关文章
- 记录学习docker命令的随笔
docker安装与启动 安装docker yum包更新到最新 sudo yum update 安装需要的软件包 sudo yum install -y yum-utils device-mappe ...
- Docker命令学习
今天更换腾讯云系统的时候发现了多了个CoreOS,据说是专门运行docker的轻量系统,顺便学习一下docker命令. 1. docker version 显示 Docker 版本信息. 2. doc ...
- docker命令行学习
docker命令行学习 docker run docker run --help:老实说这条最管用了 docker run -it:交互模式,允许控制台输出 docker run -d:detach, ...
- Docker 学习之命令篇
Docker 学习之命令篇 1. docker images //镜像列表 2. docker ps –a //所有运行过的容器 3. docker ps –l 最后运行的容器 4. docker ...
- Docker学习--->>Docker的认识,安装,及常用命令熟悉
Docker是什么? 在平常的软件开发中,会面临着开发不同的程序或服务需要不同的环境.而在该环境上开发完成后,想要在其他的环境上部署,则需要自己去重新部署,而Docker的出现使得这样的迁移变得容易. ...
- docker学习(六) Docker命令查询
Docker命令查询 1.基本语法docker [OPTIONS] COMMAND [arg...]一般来说,Docker 命令可以用来管理 daemon,或者通过 CLI 命令管理镜像和容器.可以通 ...
- Docker命令详解
Docker命令详解 最近学习Docker,将docker所有命令实验了一番,特整理如下: # docker --help Usage: docker [OPTIONS] COMMAND [arg ...
- Docker入门教程(六)另外的15个Docker命令
Docker入门教程(六)另外的15个Docker命令 [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第六篇,继续介绍Docker命令.之前的第二篇文章 ...
- 从零开始学习 Docker
这篇文章是我学习 Docker 的记录,大部分内容摘抄自 <<Docker - 从入门到实践>> 一书,并非本人原创.学习过程中整理成适合我自己的笔记,其中也包含了我自己的 ...
随机推荐
- June 1. 2018 Week 22nd Friday
What makes life dreary is the want of motive. 没有了目的,生活便暗淡无光. We all have dreams about our future, we ...
- ArrayList和LinkedList在中间开始插入的快慢比较
首先创建带数据的两个List, 然后在中间插入数据, 观察完成时间 public class Hero { public static void main(String[] args){ listAn ...
- Android Studio教程03-Activtiy生命周期的理解
目录 1. Activity 1.1. 安卓中的Activity定义和特性: 1.2. 注册Activity 1. Intent filters:设置默认开启的activity 1.3. Activi ...
- Spring的AOP基于AspectJ的注解方式开发1
参考自黑马培训机构 创建项目,引入jar包 编写目标类,切面类并完成配置 package spring.day2_aop2; /* * 编写目标类 */ public class OrderDao { ...
- python 基本数据类型--字符串实例详解
字符串(str) :把字符连成串. 在python中⽤', ", ''', """引起来的内容被称为字符串 . 注意:python中没有单一字符说法,统一称叫字 ...
- 阿里云CentOS下nodejs安装
1. 下载node包(包含npm) cd /usr/local/src/ wget https://nodejs.org/dist/v10.11.0/node-v10.11.0-linux-x64.t ...
- 使用Vuex心得
之前一直都是看别人写的vuex感觉还挺好理解的,今天自己根据需求写了下vuex,一下子不知道怎么写了, 想要用好vuex还是先要知道原理: 参考好博客写的非常到位:https://www.cnblog ...
- 2.05-random-uesr-proxy
import urllib.request def proxy_user(): proxy_list = [ {"https":""}, # {"ht ...
- 前端使用 Nginx 反向代理彻底解决跨域问题
引入网址https://blog.csdn.net/larger5/article/details/81286324 1.请求后端数据失败 代码: <!DOCTYPE html> < ...
- JS学习实践(1) JavaScript 修改图像灯泡
修改灯泡 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <titl ...