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容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚 ...
随机推荐
- CAS -- ABA问题的解决方案
我们现在来说什么是ABA问题.假设内存中有一个值为A的变量,存储在地址V中. 此时有三个线程想使用CAS的方式更新这个变量的值,每个线程的执行时间有略微偏差.线程1和线程2已经获取当前值,线程3还未获 ...
- 基于 CI 1.7.x 的 项目使用新版本CI的文件缓存类库
维护的项目使用的是 codeigniter 1.7.x版本,但是我想使用文件缓存,但是旧版本是没有缓存类库的,并且autoload.php没有drivers这个配置项. 我复制的是 Codeignit ...
- IDEA中统计项目代码的总行数
方法 安装“Statistic”插件步骤 打开idea设置界面,选择 plugins标签 点击下面“Browse repositories”按扭,浏览插件仓库 搜索“Statist ...
- Delphi 中多线程同步的一些处理方法
Delphi 中多线程同步的一些处理方法 当创建了多个线程,并且多个线程都要访问同一资源,,就有可能出现混乱,于是用Synchronize来控制,使同一时间只有一个线程使用那部分资源,Synchr ...
- Ruby 安装 – Unix
Ruby 安装 - Unix 下面列出了在 Unix 机器上安装 Ruby 的步骤. 注意:在安装之前,请确保您有 root 权限. 下载最新版的 Ruby 压缩文件.请点击这里下载. 下载 Ruby ...
- 绘制窗体渐变背景的函数[delphi]
绘制窗体渐变背景的函数,三个参数分别代表起始颜色,终止颜色,绘制方向procedure TForm1.Draw(StartColor:TColor;EndColor:TColor;Direction: ...
- NX二次开发-C++ DeleteFile删除文件实例代码
NX9+VS2012 #include<Windows.h> DeleteFile("D:\\1\\test123.prt"); Caesar卢尚宇 2019年7月29 ...
- POJ3436:ACM Computer Factory-最大流
目录 目录 思路: (有任何问题欢迎留言或私聊 && 欢迎交流讨论哦 目录 题意:传送门 原题目描述在最下面. 题目真难读懂 有\(n\)台机器,每台机器有\(p\)个部分,每台机 ...
- 1.RabbitMQ介绍
MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们.消息传递指的是程序之间 ...
- ionic:ionic 教程
ylbtech-ionic:ionic 教程 1.返回顶部 1. ionic 教程 ionic 是一个强大的 HTML5 应用程序开发框架(HTML5 Hybrid Mobile App Framew ...