Docker系列(二):Docker基础命令
docker的部署安装(Linux kernel至少3.8以上):
yum install docker
docker1.8安装:(下面 是两个命令)
# cat >/etc/yum.repos.d/docker.repo<<-EOF
[dockerrepo]
name=DockerRepository
baseurl=https://yum.dockerproject.org/repo/main/centos/7
enabled=1gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF (添加yum仓库)
# yum install docker-engine (安装)
设置开机启动DockerDaemon进程
systemctl start docker.service (启动docker进程)
systemctl enable docker.service (设置开机启动)
systemctl grep docker查看docker进程的状态
防火墙设置
systemctl disable firewald (centos7中是这个防火墙)
yum - yinstall iptables-services(安装原来的iptables)
systemctl enavle iptables
systemctl start iptables
这么做的原意是因为只有iptables防火墙才能让docker有正常的端口映射
docker1.8对centos6是不支持的
docker version
docker安装完成 client versino和server version基本是一样的
docker安装完成之后的docker0网桥
ifconfig本机的docker0网桥是本地的网桥,只能本地访问
docker的配置文件
/etc/sysconfig/docker (centos6)
中加入镜像地址的配置–registry-mirrot=http://xxxx可以加速访问,通过去相应的网址注册获取网址
重要参数:
OPTIONS用来控制DockerDaemon进程参数
-H 表示DockerDaemon绑定的地址,-H=unix:///var/run/docker.sock -H=tcp://0.0.0.0:2375–registry-mirror表示DockerRegistry的镜像地址
–registry-mirror=http://4bc5abeb.m.daocloud.io
–insecure-registry表示(本地)私有DockerRegistry的地址,
–insecure-registry ${pivateRegistyHost}:5000
–selinux-enabled是否开启SELinux,默认开启
–selinux-enabled=true–bip表示网桥docker0使用指定CIDR网络地址,
–bip=172.17.42.1-b表示采用已经创建好的网桥,
-b=xxx重要参数解释:
OPTIONS=-H=unix:///var/run/docker.sock -H=tcp://0.0.0.0:2375 --registry-mirror=http://4bc5abeb.m.daocloud.io --selinux-enabled=true下面是代理的设置http_proxy=xxxxx:8080https_proxy=xxxxxx:8080
vi /usr/lib/systemd/system/docker.service(centos7)
建议运行docker的时候打开日志查看
/var/log/message
如果命令行的错误不能准确的判断,就去看日志。
比如,不能上网是因为没有设置代理
www.docker.com
可以查看docker,能知道是怎么做的镜像
docker基本命令
docker search java
查看镜像
docker pull 是分层下载的,所以下次pull的时候,只会下载没有的部分,已经存在的部分是不下载的
docker images
查看所有的镜像
docker run
docker run 里面的命令结束了,container就结束了
docker run -it(交互模式) java(镜像)java --version(执行的命令)
docker run [OPTIONS] IMAGE[:TAG] [COMMAND] [ARG…]
决定容器的运行方式,前台执行还是后台执行
docker run后面追加-d=true或者-d,那么容器将会运行在后台模式。
docker exec来进入到到该容器中,或者attach重新连接容器的会话 进行交互式操作(例如Shell脚本),那我们必须使用-i -t参数同容器进行数据交互
docker run时没有指定–name,那么deamon会自动生成一个随机字符串UUID
Docker时有自动化的需求,你可以将containerID输出到指定的文件中(PIDfile): --cidfile=""
Docker的容器是没有特权的,例如不能在容器中再启动一个容器。这是因为默认情况下容器是不能访问任何其它设备的。但是通过"privileged",容器就拥有了访问任何其它设备的权限。
docker run java ip addr
可以看到给container分配的ip地址,每个容器都会分配一个ip地址,本地可以访问
attach和exec都是进入后台的容器
但是attach是将容器当前的输出拿过来,attach退出之后不注意的话,会把原来的docker进程停掉,建议exec
符合docker生命周期的命令
create 仅仅生成一个容器但是不启动他
start 开启
stop 停止
pause 暂停
unpase 恢复
docker ps
查看正在运行的容器
docker ps -a
所有的容器
run -rm
运行完就删掉的容器
mysql镜像举例:docker start java java-version之后 docker ps 发现并没有docker容器
因为是前台运行的,执行完了之后自动停止了
但是如果是mysql的话,是服务性质的容器,docker ps是存在的。
-d 可以解决
netstat -tlp
看到docker-proxy,mysql在运行了。远程连接mysql -uroot -p23423 -h10.0.1.225
docker exec -it mysql /bin/bash(进入mysql容器的bash模式)
docker exec mysql env 可以查看密码,密码是存在环境变量中的
docker start -e mysql_root_password=234345(将密码放到了环境变量中,容器中不建议更改配置文件,这样就不能多出运行了,环境变量做的很好,也可以zk–配置文件放在集中的地方)
cat /vat/log/mysql/error.log看mysql’的日志
Docker系列(二):Docker基础命令的更多相关文章
- Docker系列二: docker常用命令总结
https://docs.docker.com/reference/ 官方命令总结地址 容器生命周期管理 1.docker run 创建一个新的容器并运行一个命令 docker run [optio ...
- LINUX二十个基础命令
LINUX二十个基础命令 一. useradd命令 1.命令格式: useradd 选项 用户名 2.命令功能: 添加新的用户账号 3.常用参数: -c comment 指定一段注释性描述.-d 目录 ...
- Mina 系列(二)之基础
Mina 系列(二)之基础 Mina 使用起来多么简洁方便呀,就是不具备 Java NIO 的基础,只要了解 Mina 常用的 API,就可以灵活使用并完成应用开发. 1. Mina 概述 首先,看 ...
- Docker 镜像管理及基础命令(二)
Docker 常用命令: ## Docker 登录下载镜像: docker login # 登录官方hub.docker.com docker pull nginx:alpine # 下载nginx的 ...
- Docker系列03—Docker 基础入门
本文收录在容器技术学习系列文章总目录 1.概念介绍 1.1 容器 1.1.1 介绍 容纳其它物品的工具,可以部分或完全封闭,被用于容纳.储存.运输物品.物体可以被放置在容器中,而容器则可以保护内容物. ...
- docker 简单介绍及基础命令运用
一.什么是docker? Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. 简单的来讲Docker实际上就是一个大型容器.容器是完全使用沙箱机制,相互之间不 ...
- Docker 系列二(操作镜像).
一.镜像管理 1.拉取镜像 docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签] -- Docker 镜像仓库地址 :一般是 域名或者IP[:端口号 ...
- Docker系列01—Docker 基础入门
一.初识Docker和容器 1.1 什么是docker 容纳其他物品的工具,可以部分或完全封闭,被用于容纳.存储.运输物品.物体可以被放置在容器中,而容器则可以保护内容物. 容器? 容器就是在隔离的环 ...
- Linux ubuntu下docker容器安装和基础命令
Docker介绍: 云计算就好比大货轮,docker就是集装箱虚拟机虽然可以隔离出很多"子电脑",但占用空间更大,启动更慢,虚拟机软件可能还要花钱(例如VMWare). 而容器技术 ...
- Docker系列一之基础快速入门企业实战
1.1什么是LXC LXC为Linux Container的简写.Linux Container容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚 ...
随机推荐
- Oracle使用——PLSQL的中文乱码显示全是问号--Oracle查询中文乱码
问题 这两天刚将PLSQL与Oracle配置好,可是在PLSQL中插入数据时,出现一个问题,PLSQL中的表里无法显示中文,中文无法保存.无法输出,中文在表中显示问号,如图: 原因 经过一番查证, ...
- 深入浅出的Object.defineProperty()
vue的原理 观察者模式和订阅-发布者模式. Vue实例被创建时,会遍历data属性,并通过Object.defineProperty将 这些属性转化为getter/setter,并进行追踪依赖.每当 ...
- Alibaba Cluster Data 开源:270GB 数据揭秘你不知道的阿里巴巴数据中心
打开一篇篇 IT 技术文章,你总能够看到“大规模”.“海量请求”这些字眼.如今,这些功能强大的互联网应用,都运行在大规模数据中心上,然而,对于大规模数据中心,你又了解多少呢?实际上,除了阅读一些科技文 ...
- docker快速安装kibana
一.拉取镜像 docker pull kibana:5.6.9 二.启动容器 docker run --name kibana -e ELASTICSEARCH_URL=http://10.0.0.1 ...
- VC图片裁剪源代码
#include <atlimage.h> int main() { CString filepathname = "D:\\1.png", filepathname1 ...
- spring-boot-configuration-processor
spring默认使用yml中的配置,但有时候要用传统的xml或properties配置,就需要使用spring-boot-configuration-processor了 引入pom依赖 <de ...
- 利用DOM节点找对象和直接在标签属性中调函数传值this的书写区别
同样的功能,不同的书写格式. 1.个人觉得比较繁琐的写法,但是比较常见,特别是在大项目的时候常用的就是这种方法: <div id="mouse" onmouseover=&q ...
- 2019 HDU 多校赛第二场 HDU 6598 Harmonious Army 构造最小割模型
题意: 有n个士兵,你可以选择让它成为战士还是法师. 有m对关系,u和v 如果同时为战士那么你可以获得a的权值 如果同时为法师,你可以获得c的权值, 如果一个为战士一个是法师,你可以获得b的权值 问你 ...
- 2018今日头条湖北省赛【A】
[题目链接]https://www.nowcoder.com/acm/contest/104/A 这题就是很简单的几何题..md现场推了很久的cos sin仿佛像个zz.自己都想给自己一巴掌. 题意就 ...
- Random类和Math.random()方法
一.Random类的定义Random类位于 java.util 包中,主要用于生成伪 随机数Random类将 种子数 作为随机算法的起源数字,计算生成伪随机数,其与生成的随机数字的区间无关创建Rand ...