docker基本命令及操作逻辑

docker镜像操作逻辑图:

docker是一个容器,而运行一个容器必须要有镜像,因为镜像是容器的核心,我们在docker上运行一个服务时需要通过docker run运行一个镜像,才能够进入到该容器中,我们也可以使用docker commit命令 将一个容器制作成一个镜像,但注意制作一个镜像时需要指定一个完整的镜像名称(镜像名称+版本号),它默认的版本号是latest,表示为最新版本的镜像,如果不写,将默认已latest结尾。
还可以执行docker save --output命令导出该镜像,而当你需要下载一个服务时,可以使用docker load --input 命令导入该镜像,当然也可以使用>号或者<号来导入或导出。
也可以从docker hub公共仓库中使用docker pull拉取镜像,除了可以拉取,我们也可以使用dokcer push 将自己本地的镜像上传到公共仓库中。
如果在公司中是不可能将自己的镜像上传到公共仓库中的,所以我们可以将镜像上传到自己内部的私有仓库中,这个私有仓库可以通过官方的registry容器来进行构建,当需要下载某个服务时,也可以从私有仓库中使用pull命令进行拉取。

docker基本命令:

//查看正在运行的容器:
[[email protected] ~]# docker ps
//查看所有容器(包括没有正在运行的容器)
[[email protected] ~]# docker ps -a
//查看docker的信息:
[[email protected] ~]# docker info
//查找镜像:
[[email protected] ~]# docker search mysql
//下载,拉取镜像:
[[email protected] ~]# docker pull httpd
/保存镜像为tar包:
[[email protected] ~]# docker save --output my-httpd.tar httpd
或者使用:
[[email protected] ~]# docker save &gt; httpd.tar httpd:latest
//查看本地镜像:
[[email protected] ~]# docker images

注意:latest:表示是最新版本的镜像,但不是绝对最新,因为TAG标签可以进行更改。
完整的镜像名称----->>> image:latest(镜像名称+版本号)
如果版本号默认是以latest为结尾,可以省略不写。

//删除镜像:
[[email protected] ~]# docker rmi httpd:latest
#加上-f选项可以强制删除:
[[email protected] ~]# docker rmi -f centos:latest
//删除容器:(先停止容器后再删除)

[[email protected] ~]# docker stop my_nginx
my_nginx
[[email protected] ~]# docker rm my_nginx
my_nginx

同样加上-f选项可以强制删除:

[[email protected] ~]# docker rm -f my_nginx
my_nginx

//导入镜像:
[[email protected] ~]# docker load &lt; my-httpd.tar
或者使用:
[[email protected] ~]# docker load --input my-httpd.tar

//进入容器:

[[email protected] ~]# docker exec -it  test  /bin/bash
或者
[[email protected] ~]# docker attach test

注意:如果是attach进入容器,退出之后,容器会停止运行,而exec不会
exec 进入容器会开启新的进程,attach不会(进入的还是同一个终端)。
ctrl + p ctrl +q :如果是attach进入的容器, ctrl + p ctrl +q 退出容器,并且保持容器运行。 #注意两个快捷键得同时按

//开启容器:
[[email protected] ~]# docker start test
//关闭容器:
[[email protected] ~]# docker stop test
//重启容器:
[[email protected] ~]# docker restart test
//删除所有容器:
[[email protected] ~]# docker ps -a -q | xargs docker rm -f
//删除所有镜像:
[[email protected] ~]# docker images -q | xargs docker rmi -f
//开启所有容器:
[[email protected] ~]# docker ps -a -q | xargs docker start
//关闭所有容器:
[[email protected] ~]# docker ps -a -q | xargs docker stop

//查看容器的日志:
[[email protected] ~]# docker logs test2
//实时更新日志:
[[email protected] ~]# docker logs test2 -f

//保持容器开启状态(用于docker服务重启之后)
[[email protected] ~]# docker run -itd --name test3 --restart=always httpd

--restart=always:随着容器的重启而重启

//将容器制作成镜像:
[[email protected] ~]# docker commit web01 test-web:v1.0

docker commit后面跟的是需要制作成镜像的容器,制作成的镜像名称和标签可以自定义。

//运行容器:
[[email protected] ~]# docker run -itd --name my_nginx -p 80:80 --restart=always nginx:latest

参数解释:
run:运行一个容器
-itd: i:可交互
t:伪终端
d:保持容器后台运行
--name:自定义名称为my_nginx

  • p:映射端口,宿主机端口:容器内端口
    --restart=always:保持容器运行

以上是docker操作的基本命令,其他方面的docker操作命令在后续的博客中会写到。

———————— 本文至此结束,感谢阅读 ————————

原文地址:https://blog.51cto.com/13972012/2445910

时间: 2024-08-29 18:54:09

docker基本命令及操作逻辑的相关文章

通过ssh方式登陆Docker容器的操作记录

前面几篇已经介绍了Docker基础环境的部署,下面介绍下通过ssh方式登陆Docker容器的操作记录 [[email protected] ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE centos7 7.3.1611 d5ebea14da54 2 weeks ago 311 MB <none> <none> d5c154b612c8 2 weeks ago 311 MB test latest ecefde07358

Docker基本命令与使用 —— Dockerfile指令与构建(三)

一.Dockerfile指令上 1.指令格式 # Comment 注释, 以#开头 INSTRUCTION argument 以大写的指令+参数 #First Dockerfile 注释 FROM ubuntu:14.04 MAINTAINER dormancypress "[email protected]" RUN apt-get update RUN apt-get install -y nginx EXPOSE 80 From MAINTAINER RUN EXPOSE FRO

使用python的docker-py实现docker的api操作

前沿: 听同事说,以后的dba申请可能有部分走其他部门的docker ,那边貌似在搞一个类似docker的平台管理系统,据说很霸道.于是乎,我自己也想尝试写一个简单的doker管理平台.  做为起步我先搞搞docker api,docker官网有个docker-py,用起来很是清爽简单. 首先安装docker的python相关的模块. [email protected]:~# pip install docker-py Requirement already satisfied (use --u

js 非布尔值操作 逻辑与 和 逻辑或*

/*js 非布尔值操作 逻辑与 和 逻辑或*//* * 注:( "" , 0 ,undefined ,NaN ,null 转换为 false) * *//*逻辑与*/console.log(( 1 && 1 && "hello" && 2 && 3 && 4 )); // 第一个转换为true 返回 最后一个值 (4)console.log(( 0 && 0 &&

Git基本命令行操作 (转)

Git远程操作详解 作者: 阮一峰 Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能. Git有很多优势,其中之一就是远程操作非常简便.本文详细介绍5个Git命令,它们的概念和用法,理解了这些内容,你就会完全掌握Git远程操作. git clone git remote git fetch git pull git push 本文针对初级用户,从最简单的讲起,但是需要读者对Git的基本用法有所了解.同时,本文覆盖了上面5个命令的几乎所有的常用用法,所以对于熟练用户也有参考价值

005 docker的容器操作

一 . 概述 在前面的章节之中,我们可以从docker hub之中获取软件的镜像了,现在我们的主要任务就是 从镜像之中开启容器了. 总的来说,容器的启动要比docker 的敬相爱难过操作要麻烦一些,但是总体还是比较简单的. 二 . docker的容器操作 为了演示整个docker的容器操作,我们首先先下载一个tomcat算了,比较小,然后我们测试起来也比较方便. 细心的人已经看到了,我们下载一个tomcat竟然有120M,怎么比我们tomcat软件包大那么多呢? 其实,tomcat依赖了jdk,

HDFS基本命令行操作及上传文件的简单API

一.HDFS基本命令行操作: 1.HDFS集群修改SecondaryNameNode位置到hd09-2 (1)修改hdfs-site.xml <configuration> //配置元数据存储位置 <property> <name>dfs.namenode.name.dir</name> <value>/root/hd/dfs/name</value> </property> //配置数据存储位置 <property

0.面向对象的操作逻辑&amp;seq_along

没接触过面向对象的语言,运用R的时候还会保留一些过去的操作逻辑,比如构造循环啊什么的,这些东西R已经为你准备好了. <O'reilly-R>练习4.1:第n个三角形数表示为n*(n+1)/2.创建一个包含前20个三角形数的序列.R有一个内置常数letters,它包含小写的英文字母.使用前20个英文字母来给你刚刚创建的序列元素命名.选择命名为元音的三角形数. 1 n<-seq_len(20) 2 tri_num<-n*(n+1)/2 3 names(tri_nums)<-let

关于 Docker 镜像的操作,看完这篇就够啦 !(下)

原文:关于 Docker 镜像的操作,看完这篇就够啦 !(下) 紧接着上篇<关于 Docker 镜像的操作,看完这篇就够啦 !(上)>,奉上下篇 !!! 镜像作为 Docker 三大核心概念中最重要的一个关键词,它有很多操作,是您想学习容器技术不得不掌握的.本文将带您一步一步,图文并重,上手操作来学习它. 目录: 一.Docker 删除镜像 1.1 通过标签删除镜像 1.2 通过 ID 删除镜像 1.3 删除镜像的限制 1.4 清理镜像 二.Docker 创建镜像 2.1 基于已有的镜像创建