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容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚 ...
随机推荐
- nodejs 模板引擎ejs的简单使用(2)
test.ejs <!DOCTYPE html> <html> <head> <meta charset="utf-8"> < ...
- python 获取年月日时分秒 获取当前时间 datetime函数
import datetime#取当前时间print(datetime.datetime.now())#取年print(datetime.datetime.now().year)#取月print(da ...
- 安装memcached报错:If it's already installed, specify its path using --with-libevent=/dir/
一.安装memcached,执行./configure --prefix=/usr/local/memcached时候报错: 问题:If it's already installed, specify ...
- Linux基本使用命令
一.常用命令归纳分类 课外网站 http://man.linuxde.net/ http://www.jb51.net/linux/ http ...
- JAVA Java中@Override的作用
@Override是伪代码,表示重写(当然不写也可以),不过写上有如下好处: 1.可以当注释用,方便阅读: 2.编译器可以给你验证@Override下面的方法名是否是你父类中所有的,如果没有则报错.例 ...
- Ruby 数据类型
Ruby 数据类型 本章节我们将为大家介绍 Ruby 的基本数据类型. Ruby支持的数据类型包括基本的Number.String.Ranges.Symbols,以及true.false和nil这几个 ...
- delphi DrawText 的用法
DrawText(hDC: HDC; {设备句柄}lpString: PChar; {文本}nCount: Integer; {要绘制的字符个数; -1 表示全部}var lpRect: TRect; ...
- NX二次开发-UFUN设置视图边界线显示隐藏UF_DRAW_set_border_display
#include <uf.h> #include <uf_draw.h> #include <uf_drf.h> #include <uf_obj.h> ...
- 基于Netty的RPC架构学习笔记(八):protocol buff学习使用
文章目录 简介 准备 protobuf配置文件 生成java代码 举个
- Aizu - ALDS1_13_A-8 Queens Problem-八皇后的路径输出
The goal of Queens Problem is to put eight queens on a chess-board such that none of them threatens ...