查找镜像
https://hub.docker.com/
search --> centos7
一般docker 会有一个基础镜像,中间件镜像,应用镜像,生成一个镜像
docker build 通过dockerfile生成镜像
docker images 查看当前本地有哪些docker镜像
docker run 通过docker镜像生成docker容器(docker help run 查看run命令)
docker ps 查看正在up运行中的docker镜像,docker ps -a 查看所有的
docker exec 进入容器
docker rm 删除容器,-f 强制删除,up状态的也可以删除
docker stop 停止提一个容器
docker start 启动一个容器
docker tag 给镜像打标签(docker tag imageid name:tag)
docker rmi <image id> 删除images,通过image的id来指定删除谁
git clone https://git.oschina.net/99fu/security.git
docker 镜像地址 docker pull centos
dockerfile 是自动构建docker镜像的配制文件。
进入到git下,进入centos7目录下
docker build是用dockerfile生成docker镜像,每个add,生成一个docker layer
# docker build -t fu/centos:7.0 .
-t 给镜像取名字
完整命令规则: docker build -t registry_url/namespace/imageName:version ./path
(--如果没写vestion默契为latest最新的 .如果dockerfile在当前目录下,只用.就可以,否则加上dockerfile路径)
#docker run -it -d -p 2222:22 --name base fu/centos:7.0
-it 交互模式,前台启动
-d 后端其动,返回id号
-p 小p,如果用 9999:22,重启后还是用指定端口映射,如果占用,报错
-P 大P,自动找无人使用的端口映射,如果服务器重启,就会随机用个别的端口映射
--name 给容器取个名字
fu/centos:7.0 用哪个镜像启动容器,如果容器在本地不存在,则远程pull,找不到则报错
(
Unable to find image 'csphere/centos7:7.1' locally
Pulling repository docker.io/csphere/centos7
docker: Error: image csphere/centos7:7.1 not found.
See 'docker run --help'.
)
docker exec -it website /bin/bash
exec 进入容器
-it 交互模式
容器名称
/bin/bash
(
docker help 中可以看出attach 也可以进入容器中,但是试过会有卡死现象
exit退出,container 还是处于up状态
容器是基于基础镜像生成的容器,所以具有centos的命令
)
构建中间件镜像myslq
进入mysql
docker build -t fu/mysql:5.4 .
生成镜像
docker images 查看当前本地镜像
启动 mysql的docker容器
docker run -d -p 3306:3306 --name dbserver fu/mysql:5.4
返回id串,成功
docker ps
查看是否启动container成功
docker exec -it dbserver /bin/bash
进入container
mysql
进入db里,可用mysql指令操作啦
show databases;
刚才启动,没有给环境变量,就是用户与密码,用的默订的
删除容器,再试一次。
docker rm 只能删除非up状态的
docker rm
启动容器 docker run -d -p 3306:3306 -v host_dir:container_dir imageName (host_dir:container_dir 用于宿主机与容器挂载,数据同步)
docker run -d -p 3306:3306 -v /var/lib/docker/vfs/dir/mydata:/var/lib/mysql cephere/mysql:5.4 (未设置--name 则自动生成一个name)
通过docke exec -it [docke 容器名称或id全或id前几位可区分即可] /bin/bash
这次创建mysql用户,然后删除容器,再次创建容器,指定到挂载目录,看数是否能将历史自动载入进来。
create database mydb;
show databases;
exit;
exit
查看一下,docker是否创健了指定的挂在目录。
ls /var/lib/docker/vfs/dir/mydata/
停掉容器 docker stop id
删除mysql容器,docker rm id
再次查看,看挂载目录是否存在
ls /var/lib/docker/vfs/dir/mydata/
再次创建一个容器,指定到挂载的目录,确认数据是否能够回来
docker run -d -p 3306:3306 --name newdb -v /var/lib/docker/vfs/dir/mydata:/var/lib/mysql fu/mysql:5.4
docker ps
docker exec -it newdb /bin/bash
mysql
show databases;
可以看到数据库还存在
创建应用
应用里加入一个Dockerfile 和 init.sh
.dockerignore文件,可以过滤掉,不须要copy的文件
show databases;
启动应用容器
docker run -d -p 80:80 --name wordpress -e WORDPRESS_DB_HOST=192.168.80.241 -e WORDPRESS_DB_USER=admin -e WORDPRESS_DB_PASSWORD=cephere2015 cephere/wordpress:4.2
docker-compose up
【
如果docker-compose --version 为无效指令,则须安装docker-compose 组合
#下载安装
curl -L https://github.com/docker/compose/releases/download/1.1.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
#授权
chmod +x /usr/local/bin/docker-compose
#查版本号
docker-compose --version
#当前目录构建组合镜像。须存在docker-compose.yml文件
docker-compose up -d
】
- 关于Docker 常用命令
Docker 常用命令 分类列一下常用的CLI命令 仓库相关 search/ pull / push / login etc. 例:docker pull ubuntu 从仓库下载ubuntuimag ...
- 【Docker】(3)---linux部署Docker、Docker常用命令
linux部署Docker.Docker常用命令 本次部署Linux版本:CentOS 7.4 64位. 说明: 因为Docker是基于Linux 64bit的 所以Docker要求64位的系统且内核 ...
- Docker常用命令(二)
Docker常用命令 查看Docker所有正在运行的容器 docker ps 查看Docker已退出的容器 docker ps -a 查看Docker所有镜像 docker images 删除镜像 删 ...
- Docker应用二:docker常用命令介绍
Docker常用命令使用介绍 docker中常用的命令: 1.docker search image_name:搜查镜像 2.docker pull image_name:从镜像库中拉去镜像 3.d ...
- Docker常用命令汇总,和常用操作举例
Docker命令 docker 常用命令如下 管理命令: container 管理容器 image 管理镜像 network 管理网络 node 管理Swarm节点 plugin 管理插件 secre ...
- 1021 docker常用命令和Jenkins搭建
docker常用命令 1.镜像管理 docker pull (镜像名) # 默认拉取最新版本的镜像 docker pull (镜像名:版本号) #拉取指定版本的镜像 docker push (镜像名) ...
- Docker 常用命令——镜像
Docker 常用命令 帮助命令 docker version --版本信息 docker info --详细信息 docker --help --帮助 镜像命令 1.doc ...
- docker 常用 命令
http://os.51cto.com/art/201409/451117.htm 2.1 在测试机启动容器,安装ssh docker run -i -t ubuntu /bin/bash #此方式运 ...
- Docker 常用命令总结
Docker 常用命令总结 回到顶部 镜像相关 搜索 docker search *image_name* 下载 docker pull *image_name* 查看 docker images ...
- 宿主机 && docker 常用命令
宿主机 && docker 常用命令 1.如果你想快速发现在该主机上使用最多资源的容器(或是最近的所有systemd服务),我推荐systemd-cgtop命令: 2.
随机推荐
- Performance Monitor3:监控SQL Server的内存压力
SQL Server 使用的资源受到操作系统的调度,同时,SQL Server在内部实现了一套调度算法,用于管理从操作系统获取的资源,主要是对内存和CPU资源的调度.一个好的数据库系统,必定在内存中缓 ...
- MessageBox.Show()的各种用法
[函数] <整型> MessageBox(<字符串> Text, <字符串> Title, <整型> nType,MessageBoxIcon); [函 ...
- [C1] C1FlexGrid 排除非绑定列的验证效果
一.前言 前提是 C1FlexGrid 中存在数据绑定列和自定义列(非数据绑定列),此时如果该行编辑后出现排他错误,自定义列也会出现验证结果的红色边框: 但是自定义列如果只是一些按钮操作,提示说明什么 ...
- VS2010 VS2012 VS2013 VS2015启动调试时老是提示正在下载公共符号
VS2010 VS2012 VS2013 VS2015启动调试时老是提示正在下载公共符号,下载一些.dll文件,点取消后也能继续调试,但特别慢.解决方法:工具-选项,或者调试-选项和设置,将调试下的& ...
- Java传值和传址
调用函数时,传的参数过去可能是传值,也可能是传址.如果是传值,函数内部的操作对参数的值没有影响:如果是传址,函数内部的操作是对参数指向的内存进行操作,会影响参数的值. Java到底是传值还是传址?用下 ...
- 如何实现一个php框架系列文章【2】实现类的自动加载
根据前一篇文章的设计原则,我们暂时把php文件分为3类,类名和文件名都遵守如下约定. 类名 文件名 路径 模型类m {$app}Mod {$app}.mod.php {$app}/model ...
- php简单实现socket通信
socket通信的原理在这里就不说了,它的用途还是比较广泛的,我们可以使用socket来做一个API接口出来,也可以使用socket来实现两个程序之间的通信,我们来研究一下在php里面如何实现sock ...
- iOS NSDate等时间类的使用
一.NSDate NSDate对象用来表示一个具体的时间点. NSDate是一个类簇,我们所使用的NSDate对象,都是NSDate的私有子类的实体. NSDate存储的是GMT时间,使用的时候会根据 ...
- Android Weekly Notes Issue #228
Android Weekly Issue #228 October 23rd, 2016 Android Weekly Issue #228 本期内容包括: Android 7.1的App Short ...
- 3D坦克大战游戏源码
3D坦克大战游戏源码,该游戏是基于xcode 4.3,ios sdk 5.1开发.在xcode4.3.3上完美无报错.兼容ios4.3-ios6.0 ,一款ios平台上难得的3D坦克大战游戏源码,有2 ...