Docker系列之常用命令操作手册
Docker系列之常用命令操作手册

继上一篇博客Docker系列之原理简单介绍之后,本博客对常用的Docker命令进行实践
@
1、安装虚拟机
环境准备:
- Centos镜像
- VMWare or VirtualBox
- WinSCP or XFtp
- SecureCRT or XShell
比较推荐VirtualBox,因为VirtualBox比较轻量级,适合于学习,对于Centos的,可以去官网下载:https://www.centos.org/download/
本博客使用VirtualBox,假如是iso镜像文件的操作步骤比较麻烦,本博客略过,因为我有备份的虚拟磁盘.ova文件,所以直接管理->导入虚拟电脑,然后选择.ova文件即可

接着需要设置虚拟网络:
因为我是用WiFi的,所以默认会选择wireless,如果你是网线的,那就不要选wireless类型的,一般安装默认即可

设置好网络之后,如图,点击启动虚拟机即可

启动之后,查询一下虚拟机ip
ip addr
用SecureCRT or XShell客户端软件连接虚拟机,如图,本博客是用SecureCRT的

假如,您设置了网站,需要执行如下linux命令进行网络重置,或者直接重启虚拟机:
service network restart
2、安装Docker
安装虚拟机之后,就要安装Docker,Docker要求内核版本必须大于3.10,所以要先检查内核版本:
uname -r
docker安装部署
查看内核版本,必须是3.10+
uname -r
安装Docker
yum install docker
卸载docker
yum remove docker-*
查看Docker版本
docker -v
启动Docker
systemctl start docker
注意:假如在启动过程遇到如下报错,有可能是因为你的防火墙或者selinux没关闭
Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details
解决方法:先查看报错信息
systemctl status docker
查看防火墙状态
firewall-cmd --state
临时关闭防火墙
syatemctl stop firewalld.service
永久禁止开机启动firewall
systemctl disable firewalld.service
查看selinux状态
getenforce
临时禁用
setenforce
永久禁用
# 将SELINUX=enforce改成SELINUX=disabled
vi /etc/selinux/config
ok,接着再启动Docker
systemctl start docker
3、Docker镜像操作
| 操作 | 命令 | 说明 |
|---|---|---|
| 检索 | docker search keywork eg: docker search tomcat | 去docker hub搜索镜像的详细信息 |
| 拉取 | docker pull keywork:tag eg: docker pull tomcat:latest | tag是可选的,不指定默认拉取latest最新版本 |
| 列表 | docker images | 查看本地docker仓库的所有镜像 |
| 删除 | docker rmi imageId eg: docker rmi 6408fdc94212 | 删除本地docker仓库镜像 |
去docker仓库搜索Tomcat信息
docker search tomcat
几个关键参数解释一下:
- INDEX docker.io就是docker官网
- NAME 镜像的名称
- DESCRIPTION 镜像描述
- STARS 关注数目
- OFFICIAL 是否官方
- AUTOMATED 是否自动的
INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED
docker.io docker.io/tomcat Apache Tomcat is an open source implementa... 2576 [OK]
docker.io docker.io/tomee Apache TomEE is an all-Apache Java EE cert... 72 [OK]
docker.io docker.io/dordoka/tomcat Ubuntu 14.04, Oracle JDK 8 and Tomcat 8 ba... 53 [OK]
docker.io docker.io/bitnami/tomcat Bitnami Tomcat Docker Image 30 [OK]
docker.io docker.io/kubeguide/tomcat-app Tomcat image for Chapter 1 28
docker.io docker.io/consol/tomcat-7.0 Tomcat 7.0.57, 8080, "admin/admin" 16 [OK]
docker.io docker.io/cloudesire/tomcat Tomcat server, 6/7/8 15 [OK]
docker.io docker.io/aallam/tomcat-mysql Debian, Oracle JDK, Tomcat & MySQL 12 [OK]
docker.io docker.io/arm32v7/tomcat Apache Tomcat is an open source implementa... 10
docker.io docker.io/rightctrl/tomcat CentOS , Oracle Java, tomcat application s... 5 [OK]
docker.io docker.io/maluuba/tomcat7-java8 Tomcat7 with java8. 4
docker.io docker.io/unidata/tomcat-docker Security-hardened Tomcat Docker container. 4 [OK]
docker.io docker.io/amd64/tomcat Apache Tomcat is an open source implementa... 2
docker.io docker.io/arm64v8/tomcat Apache Tomcat is an open source implementa... 2
docker.io docker.io/99taxis/tomcat7 Tomcat7 1 [OK]
docker.io docker.io/camptocamp/tomcat-logback Docker image for tomcat with logback integ... 1 [OK]
docker.io docker.io/i386/tomcat Apache Tomcat is an open source implementa... 1
docker.io docker.io/oobsri/tomcat8 Testing CI Jobs with different names. 1
docker.io docker.io/ppc64le/tomcat Apache Tomcat is an open source implementa... 1
docker.io docker.io/appsvc/tomcat 0
docker.io docker.io/cfje/tomcat-resource Tomcat Concourse Resource 0
docker.io docker.io/jelastic/tomcat An image of the Tomcat Java application se... 0
docker.io docker.io/picoded/tomcat7 tomcat7 with jre8 and MANAGER_USER / MANAG... 0 [OK]
docker.io docker.io/s390x/tomcat Apache Tomcat is an open source implementa... 0
docker.io docker.io/secoresearch/tomcat-varnish Tomcat and Varnish 5.0 0 [OK]
去docker仓库pull Tomcat镜像
# 不指定版本的情况,默认下拉最新的latest版本,知道tag用命令:docker pull tomcat:5.7
docker pull tomcat
查看本地docker镜像列表:
docker images

删除本地镜像:
# 语法如:eg :docker rmi 6408fdc94212
docker rmi imageId
Docker官方也有详细的介绍,详情参看Docker远程镜像仓库
4、Docker容器操作
下拉镜像之后,就相当于window系统的下载了exe文件,还要安装软件才能使用,而Docker的容器部署就类似于安装exe软件
以Tomcat安装为例子:
docker run --name tomcat01 -d tomcat:latest

查看运行中的容器
# 查看所有的容器用命令docker ps -a
docker ps
启动容器
# eg: docker start 9781cb2e64bd
docker start CONTAINERID[容器ID]
stop容器
docker stop CONTAINERID[容器ID]
删除一个容器
docker rm CONTAINERID[容器ID]
启动一个做了端口映射的tomcat
# ‐d:后台运行 ‐p: 将主机的端口映射到容器的一个端口 主机端口:容器内部的端口
docker run -d -p 8081:8080 tomcat

查看Docker容器日志
# eg:docker logs 9781cb2e64bd
docker logs container‐name[容器名]/container‐id[容器ID]
更详细的操作,可以参考docker的官方文档
Docker系列之常用命令操作手册的更多相关文章
- 因为一个Docker问题,我顺手整理从安装到常用命令操作手册
今天,自己写了一部分业务代码,是常规代码的另外一种方式,不能在公司的服务器上测试,就自己在PC端搭建了一套和公司集群一样的模板,因为公司的业务模块的测试有单独的服务器(这一块还是我很稀罕的),但是,第 ...
- Ubuntu下安装Docker,及Docker的一些常用命令操作
1.什么是 Docker Docker 是一个开源项目,Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案. Docker 的基础是 Linux 容器(LXC ...
- Docker系列(三)常用命令
命令说明 docker pull 格式: docke pull [OPTIONS] NAME[:TAG] 作用:下载名称为 name 的镜像 例子: sudo docker pull dl.docke ...
- Docker 入门指南——常用命令
前面已经介绍了 Docker 的安装方式,本文总结一下使用 Docker 的基本概念和常用命令. 基本概念 镜像 Image 镜像是一些打包好的已有的环境,可以被用来启动和创建容器 容器 Contai ...
- Git版本控制软件结合GitHub从入门到精通常用命令学习手册(转)
简要参考:http://www.tuicool.com/articles/mEvaq2 http://gitref.org/zh/index.html GIT 学习手册简介 本站为 Git 学习参考手 ...
- Hexo系列(三) 常用命令详解
Hexo 框架可以帮助我们快速创建一个属于自己的博客网站,熟悉 Hexo 框架提供的命令有利于我们管理博客 1.hexo init hexo init 命令用于初始化本地文件夹为网站的根目录 $ he ...
- K8s常用命令操作
K8s常用命令操作 一.kubectl命令补全 1.master安装命令补全,并临时生效 yum install -y bash-completion source /usr/share/bash-c ...
- Docker基础和常用命令
Docker基础和常用命令 一,Docker 简介 1.1,什么是 Docker Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的 cgroup,nam ...
- Jedis对Redis的常用命令操作
本篇主要总结一些Jedis对Redis的常用命令操作: 1.对key操作命令 2.对String操作命令 3.对List操作命令 4.对Set操作命令 5.对Hash操作命令 6.排序操作指令 一.项 ...
随机推荐
- Java高性能反射工具包ReflectASM
ReflectASM 使用字节码生成的方式实现了更为高效的反射机制.执行时会生成一个存取类来 set/get 字段,访问方法或创建实例.一看到 ASM 就能领悟到 ReflectASM 会用字节码生成 ...
- C 总结 | 复习注意点
1.1 C预处理 常见错误 预处理错误 #include "" 和 <> 使用错误 "No such....." 更改“” 或者<> 或 ...
- PWM呼吸灯
1.PWM简介 PWM是 Pulse Width Modulation 的缩写,中文意思就是脉冲宽度调 制,简称脉宽调制.它是利用微处理器的数字输出来对模拟电路进行控 制的一种非常有效的技 ...
- python——掌握sorted函数的用法
看本篇文章的前提是掌握 00函数的基本概念.01函数参数传递方式 可参考本人博客文章 sorted函数 是一个内建函数,接收一个可迭代对象,按照指定类型.指定顺序进行排序,特点是返回一个新的列表,不改 ...
- 实现 sqrt(x):二分查找法和牛顿法
最近忙里偷闲,每天刷一道 LeetCode 的简单题保持手感,发现简单题虽然很容易 AC,但若去了解其所有的解法,也可学习到不少新的知识点,扩展知识的广度. 创作本文的思路来源于:LeetCode P ...
- 从EFCore上下文的使用到深入剖析DI的生命周期最后实现自动属性注入
故事背景 最近在把自己的一个老项目从Framework迁移到.Net Core 3.0,数据访问这块选择的是EFCore+Mysql.使用EF的话不可避免要和DbContext打交道,在Core中的常 ...
- nyoj 79-拦截导弹 (动态规划)
79-拦截导弹 内存限制:64MB 时间限制:3000ms 特判: No 通过数:9 提交数:11 难度:3 题目描述: 某国为了防御敌国的导弹袭击,发展中一种导弹拦截系统.但是这种导弹拦截系统有一个 ...
- windows下安装Apache、php、mysql集成环境
一.准备工作 本次安装的版本分别为:apache2.4 .php5.6 . mysql5.7 下载地址为:http://pan.baidu.com/s/1boQNIOn 密码:zarx 二.安装步骤 ...
- PHP的global和$GLOBALS的区别
global是关键字,通常添加在变量前,可以使变量的作用域为全局. $GLOBALS预定义的超全局变量,把变量扔到里面一样可以变成全局变量. $GLOBALS 是一个关联数组,每一个变量为一个元素,键 ...
- boost.asio新框架的设计概念总结
1.66版本,boost.asio库重新设计了框架,目前最新版为1.71.读了几天代码后,对框架中相关概念总结.因为是泛型编程的库,所以分析的概念层的设计. 可通过boost官方文档,strand的1 ...