Docker——基本使用及常用命令
Docker 是一个开源的应用容器引擎,而一个容器其实是一个虚拟化的独立的环境,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口。
Docker
的局限性之一,它只能用在 64 位的操作系统上。
1.命令介绍
- $ docker --help
- 管理命令:
- container 管理容器
- image 管理镜像
- network 管理网络
- 命令:
- attach 介入到一个正在运行的容器
- build 根据 Dockerfile 构建一个镜像
- commit 根据容器的更改创建一个新的镜像
- cp 在本地文件系统与容器中复制 文件/文件夹
- create 创建一个新容器
- exec 在容器中执行一条命令
- images 列出镜像
- kill 杀死一个或多个正在运行的容器
- logs 取得容器的日志
- pause 暂停一个或多个容器的所有进程
- ps 列出所有容器
- pull 拉取一个镜像或仓库到 registry
- push 推送一个镜像或仓库到 registry
- rename 重命名一个容器
- restart 重新启动一个或多个容器
- rm 删除一个或多个容器
- rmi 删除一个或多个镜像
- run 在一个新的容器中执行一条命令
- search 在 Docker Hub 中搜索镜像
- start 启动一个或多个已经停止运行的容器
- stats 显示一个容器的实时资源占用
- stop 停止一个或多个正在运行的容器
- tag 为镜像创建一个新的标签
- top 显示一个容器内的所有进程
- unpause 恢复一个或多个容器内所有被暂停的进程
2.服务管理
CentOS 6.5
- service docker start # 启动 docker 服务,守护进程
- service docker stop # 停止 docker 服务
service docker restart # 重启 docker 服务- chkconfig docker on # 设置为开机启动
CentOS 7
- systemctl start docker # 启动 docker 服务,守护进程
systemctl stop docker # 停止 docker 服务
systemctl restart docker # 重启 docker 服务
chkconfig docker on # 设置为开机启动
3.常用命令
查看版本
- docker version
查看当前docker所有镜像
- docker images
查看状态
- service docker status
查看信息
- docker info
4.镜像管理
在线搜索镜像
- docker search tomcat
start代表受欢迎程度。OFFICIAL代表官方版本
拉取镜像
- # docker pull [镜像名称]:[版本]
docker pull tomcat:7
上传镜像
- docker push wcjiang/nginx-test:lastest
- 通过dockerfile创建镜像
- docker build -t tomcat8:v1 .
通过容器创建镜像
- docker commit -m="First Docker" -a="wcjiang" a6b0a6cfdacf wcjiang/nginx:v1.2.1
上面命令参数说明:
-m
提交的描述信息-a
指定镜像作者a6b0a6cfdacf
记住这个是容器id,不是镜像idwcjiang/nginx:v1.2.1
创建的目标镜像名
为镜像打标签
- docker tag wcjiang/nginx:v1.2.1 wcjiang/nginx-test:lastest
5.容器管理
在容器中运行hello world
- docker run centos echo "hello word"
在容器中安装wget程序
- docker run centos yum install -y wget
查看所有的容器
- docker ps #列出包括未运行的容器
docker ps -a #查看所有容器(包括正在运行和已停止的),返回列表
docker ps -aq #只返回容器id
查看容器日志
- docker logs -f -t --since="2020-01-16" --tail=500 bsm 查看bsm容器日志
停止容器
- docker stop <CONTAINER ID> #停止某个容器
docker stop $(docker ps -aq) #停止所有的容器
启动容器
- docker start <CONTAINER ID>
删除容器
- docker rm <CONTAINER ID> #删除某个容器
docker rm $(docker ps -aq) #删除所有容器
删除镜像
- docker rmi <IMAGE NAME> #按容器名称删除
docker rmi -f <IMAGE ID> #按容器ID删除
docker rmi $(docker images -q) #删除所有的镜像
进入容器
- docker exec -it <CONTAINER ID> bash
注:这个bash退出也不会影响之前 docker run 启动的 bash/,按【Ctrl + D】键退出bash
运行容器(nginx)
- # 下面的命令将本地文件中的 nginx.conf 配置文件挂载到容器,并且将要展示的静态页面也挂载到容器。
- docker run --name my-nginx \
- -v /host/path/nginx.conf:/etc/nginx/nginx.conf:ro \
- -v /some/html:/usr/share/nginx/html:ro \
- -p 8080:80 \
- -d nginx
上面参数说明:
-v:
设置挂载路径,语法为-v host dir:container dir[:ro|rw]
- --name:为容器取一个名字
- -p:参数语法为
-p host port:container port
; -p 8080:80 将主机上的8080端口绑定到容器上的80端口,因此在主机中访问8080端口时其实就是访问 nginx 容器的80端口 - -d:后台运行容器
运行容器(mysql)
- docker run --name my-mysql \
- -p 3306:3306 \
- -v $PWD/conf/my.cnf:/etc/mysql/my.cnf \
- -v $PWD/logs:/logs \
- -v $PWD/data:/mysql_data \
- -e MYSQL_ROOT_PASSWORD=123456 \
- -d mysql:5.7
上面参数说明:
-p 3306:3306
:将容器的3306端口映射到主机的3306端口-v $PWD/conf/my.cnf:/etc/mysql/my.cnf
:将主机当前目录下的conf/my.cnf挂载到容器的/etc/mysql/my.cnf-v $PWD/logs:/logs
:将主机当前目录下的logs目录挂载到容器的/logs-v $PWD/data:/mysql_data
:将主机当前目录下的data目录挂载到容器的/mysql_data-e MYSQL_ROOT_PASSWORD=123456
:初始化root用户的密码
检查容器
- docker inspect 容器名称
Docker——基本使用及常用命令的更多相关文章
- windows下docker的安装及常用命令学习
docker search 镜像名 本文主要介绍Docker在Windows下的安装.关于Docker的介绍和文档在其官网中可以找到:http://www.docker.com .安装环境:Windo ...
- docker的安装及常用命令
一:概述 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows 机器上,也可以实现虚拟化,容器是完全使用 ...
- Docker的入门及常用命令
Docker入门及常用命令 1. 各个容器之间是相互隔离状态: 这样减少了我们软件之间的影响. 2. docker是os层虚拟化架构的一种产品体现, os层虚拟化架构出来的操作系统需要和宿主机操作系统 ...
- Docker第二弹之常用命令
Docker的常用命令 底层原理 Docker是如何工作的 Docker是一个Client-Server结构的系统,Docker守护进程运行在主机上, 然后通过Socket连接从客户端访问,守护进程从 ...
- 【Docker】docker的安装和常用命令
一.docker安装和启动 1.yum 命令 yum install docker 2.docker启动命令 sudo systemctl start docker 二.docker常用命令 dock ...
- docker入门资料及常用命令
Docker17中文开发手册 :https://www.php.cn/manual/view/36147.html Linux部署Docker及常用命令: https://www.cnblog ...
- CentOS-yum安装Docker环境(含:常用命令)
安装Docker环境 $ yum install docker -y 启动Docker $ systemctl start docker 设置自启动 $ systemctl enable docker ...
- Docker学习总结(三)--常用命令
镜像相关命令 查看镜像 docker images 返回列表字段含义如下: 字段名称 字段含义 REPOSITORY 镜像名称 TAG 镜像标签 IMAGE ID 镜像 ID CREATED 镜像创建 ...
- docker的介绍以及常用命令
一.docker的介绍 1. Docker是什么? Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚 ...
随机推荐
- ionic3+angular 倒计时效果
// 声明变量 applicationInterval: any; // 定时器 nextBtnText: String; nextBtnBool: Boolean; // 使用定时器,每秒执行一次 ...
- Ansible 教程
[注]本文译自:https://www.edureka.co/blog/ansible-tutorial/ 在阅读本文之前,你应该已经知道,Ansible 构成了 DevOps 认证的关键部分,它 ...
- User-Agent大全 python
1 # -*-coding:utf-8 -*- 2 3 import random 4 5 # 返回一个随机的请求头 headers 6 def getheaders(): 7 # 各种PC端 8 u ...
- 我与Git的那些破事(上)--代码管理
1. Git是什么? 作为一名程序猿,我相信大家都或多或少接触过git--分布式版本控制软件. 有人说,它是目前世界上最先进的分布式版本控制系统,我想说,是否最先进不知道,但确实好用,实用. 作为一款 ...
- JDK8新特性(二) 流式编程Stream
流式编程是1.8中的新特性,基于常用的四种函数式接口以及Lambda表达式对集合类数据进行类似流水线一般的操作 流式编程分为大概三个步骤:获取流 → 操作流 → 返回操作结果 流的获取方式 这里先了解 ...
- 【Java】String、StringBuilder和StringBuffer
[String] 首先,从String类的定义入手,可以看到String类是由final修饰,即不可变的,一旦创建出来就不可修改,因此首先明确,字符串的拼接.截取等操作都会产生新的字符串对象. 观察以 ...
- MYSQL中TIMESTAMP类型的默认值理解
MYSQL中TIMESTAMP类型可以设定默认值,就像其他类型一样. 1.自动UPDATE 和INSERT 到当前的时间:表:----------- Table Create Table ...
- Node-Web应用框架Express
Express 是 node.js Web应用框架, 帮助你创建各种 Web 应用,和丰富的 HTTP 工具. 使用 Express 可以快速地搭建一个完整功能的网站. Express 框架核心特性: ...
- 分解uber依赖注入库dig-源码分析
上一篇帖子 分解uber依赖注入库dig-使用篇 把如何使用dig进行代码示例说明,这篇帖子分析dig的源码,看他是如何实现依赖注入的. dig实现的中心思想:所有传入Provide的函数必须要有除e ...
- [LeetCode每日一题]88. 合并两个有序数组
[LeetCode每日一题]88. 合并两个有序数组 问题 给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组. 初始化 n ...