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容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚 ...
随机推荐
- ps去除元素的三种常用方法
1.仿制图章工具,alt+鼠标左键进行选取复制区域,然后左键点击需要覆盖的区域. 2.套锁工具--选择区域--右键填充--内容识别. 3.修补工具,选中区域--拖动适配. 附带另一份较 ...
- php注册 及审核练习
1.注册界面 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www. ...
- <Java编程思想>读书笔记(1)-对象导论、一切都是对象
1.面向对象编程:OOP (Object-oriented Programming) 2.Alan Kay 总结的面向对象语言5个基本特性: 1) 万物皆为对象 2) 程序是对象的集合,他们通过发送消 ...
- (转)当android调试遇到ADB server didn't ACK以及顽固的sjk_daemon进程 .
转:http://blog.csdn.net/wangdong20/article/details/20839533 做Android调试的时候经常会遇到,程序写好了,准备接上手机调试,可不一会儿出现 ...
- unity 移动
上下左右平移 void Start() { QualitySettings.vSyncCount = ; Application.targetFrameRate = ;//控制帧数 } // Upda ...
- flutter 修饰盒子
decoration: BoxDecoration( borderRadius: BorderRadius.circular(), //圆角 gradient: RadialGradient( col ...
- Codeforces 1167A-Telephone Number
题目链接:http://codeforces.com/problemset/problem/1167/A 思路:检索前面0 ~(n −11)个字符中是否有 8 即可. AC代码: #include&l ...
- 剑指offer——08斐波那契数列
题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0). n<=39 有多种方法,简单的循环.递归.动态规划: class Solutio ...
- !!!myeclipse 上加载本地图片问题,无法加载问题
出现无法加载本地图片的问题, 原因就是把图片放到了本地项目中的image了,但是myeclipse上没有刷新 这样以后 本地的图片比在线的要快 低级错误,诶!
- Java常用文件下载与查找的URL
Java JDK: http://www.oracle.com/technetwork/java/javase/downloads/index.html Tomcat: http://tomcat.a ...