docker实战练习(一)
systemctl start docker
systemctl pause docker
systemctl unpause docker
systemctl start docker
systemctl restart docker
docker image ls 查看镜像
docker image --digests 显示镜像摘要信息
docker image --digests --no-trunc 显示镜像全部信息

docker search centos 查询镜像
docker search -s 30 centos 查询star超过30的镜像
docker pull centos 下载centos镜像
注:
如果下载镜像超时,需设置国内镜像
vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}
service docker restart 重启docker

docker rmi 镜像名/容器id 镜像名/容器id 删除镜像
docker network create -d bridge test1 网络桥
docker network ls 显示网络桥列表
docker run -d -it -p 8001:22 --network test1 --name centos-test1 centos /bin/bash 创建centos镜像容器 本地的8001指向容器的22端口,在test1的网段里
docker run --privileged -d -it -p 8002:22 --network test2 --name centos-test2 init-java-mysql:1.1 /usr/sbin/init
docker ps 查看运行容器
docker ps -a 查看所有容器
docker rm -f 镜像名/容器id 删除容器
docker rm $(docker ps -a -q) 删除所有容器
例如我们启动centos后台容器,每隔一秒打印当天的日历。
$ docker run -d -p 8001:22 --network test1 --name centos-test1 centos /bin/sh -c "while true;do echo hello docker;sleep 1;done"
启动之后,我们使用docker ps -n 5查看容器的信息
要查看启动的centos容器中的输出,可以使用如下方式:
$ docker logs $CONTAINER_ID ##在container外面查看它的输出
docker logs -f -t --tail 1 9714e2309486 t是加入时间戳 f是追加最新的日志 tail行数
$ docker attach $CONTAINER_ID ##连接上容器实时查看 Ctrl+p Ctrl+q退出但不关闭容器 退不出开启另一个终端 用 pkill -9 -f 'docker.*attach'
docker stop 12bdf4567710/centos-test1 终止容器
docker start centos-test1 启动容器
docker restart centos-test1 重启容器
docker kill centos-test1 强制停止容器
docker ps -l 查看上一次运行过的容器
docker ps -n 3查看上3次运行过的容器
docker top 9714e2309486 查看容器进程
docker inspect 9714e2309486 查看容器详细

运行容器命令但没有进容器
docker exec -t 9714e2309486 /bin/bash 进入容器
docker attach
docker cp 9714e2309486:文件路径 本机的路径 拷贝容器里的文件
自己构建镜像
docker commit -a="wang" -m="dec" 镜像名/容器id 新镜像名:版本号 这样就会生成在本地docker镜像里 docker image

rpm -qa | grep -i java 查看是否有安装java包
rpm -e --nodeps 包名
注:
需要远程链接的话需要开启端口,另外,centos镜像要设置密码 passwd 通过ssh连接
安装ssh
yum install passwd openssl openssh-server -y
/usr/sbin/sshd -D
ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N ''
ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''
ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key -N ''

删除不了commit的镜像,是因为有依赖

保存新镜像
docker save -o java-mysql.tar java-mysql:1.1
删除新旧镜像
docker rmi 6d7406eeac0e 93ea07f67227 b1172585ba22
load新镜像
docker load -i ./java-mysql.tar











docker pull percona/percona-xtradb-cluster
docker pull docker.io/percona/percona-xtradb-cluster
docker tag docker.io/percona/percona-xtradb-cluster pxc 重命名

docker network ls 网段列表
docker network create net1
docker network inspect net1
docker network rm net1
docker network create -d bridge test1 网络桥
docker network create --subnet=172.18.0.0/24 net1 自建网段


docker volume rm v1









#数据库负载均衡
listen proxy-mysql
#访问的IP和端口
bind 0.0.0.0:3306
#网络协议
mode tcp
#负载均衡算法(轮询算法)
#轮询算法:roundrobin
#权重算法:static-rr
#最少连接算法:leastconn
#请求源IP算法:source
balance roundrobin
#日志格式
option tcplog
#在MySQL中创建一个没有权限的haproxy用户,密码为空。Haproxy使用这个账户对MySQL数据库心跳检测
option mysql-check user haproxy
server MySQL_1 172.18.0.2:3306 check weight 1 maxconn 2000
server MySQL_2 172.18.0.3:3306 check weight 1 maxconn 2000
server MySQL_3 172.18.0.4:3306 check weight 1 maxconn 2000
server MySQL_4 172.18.0.5:3306 check weight 1 maxconn 2000
server MySQL_5 172.18.0.6:3306 check weight 1 maxconn 2000
#使用keepalive检测死链
option tcpka





监控画面









exit是退出交互界面 而不是停止容器运行
apt-get update 很慢需要更换镜像





















全量备份

路径



需要先解散pxc 然后还原一个,然后同步pxc集群




执行冷还原








前面的坑







yes
测试






docker实战练习(一)的更多相关文章
- 【原创】Docker实战 Dockerfile最佳实践&&容器之间通信
官方最佳实践文档 https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#from Docker实战(三十) ...
- Docker03 Docker基础知识、Docker实战
1 Docker基础知识 1.1 什么是Docker Docker是一个可以装应用的容器,就像杯子可以装水.书包可以装书一样:docker官网 Docker是Docker公司开发的,并开源到GitHu ...
- Ubuntu Server下docker实战 02: docker进阶配置
在上一篇文章里<Ubuntu Server下docker实战 01: 安装docker>,我们已经把docker安装起来了,并运行了一个hello-world 这一篇,我们继续讲进阶配置. ...
- [置顶]
Docker学习总结(1)——Docker实战之入门以及Dockerfile(一)
一.Docker是什么? 首先Docker是软件工业上的集装箱技术 回顾,在没有集装箱出现以前,传统运输行业中,会存在这些问题: 在运输过程中,货物损坏 装卸.运输货物,效率低下 运输手续繁多及运输环 ...
- Docker 实战—使用 Dockerfile 构建镜像
Dockerfile 指令详解请访问:https://www.cnblogs.com/cloudfloating/p/11737447.html 使用 Alpine Linux 作为基础镜像 Alpi ...
- netcore 创建腾讯云私有镜像 发布到docker 实战
上一篇博客写的 netcoer上传到docker ,编译 并发布,传送门:FineUICore基础版部署到docker实战 这是一种笨方法,理想的方法是,在本地编译成镜像,然后推送到镜像仓库,服务器的 ...
- Docker实战之Redis-Cluster集群
概述 接上一篇Docker实战之MySQL主从复制, 这里是Docker实战系列的第二篇,主要进行Redis-Cluster集群环境的快速搭建.Redis作为基于键值对的NoSQL数据库,具有高性能. ...
- Docker实战之Consul集群
前言 最近参加了几场 Java 面试,发现大多数的微服务实践还是 Eureka 偏多,鉴于笔者的单位选型 Consul,这里对 Consul 做简单总结. 该篇是 Docker 实战系列的第三篇.传送 ...
- Docker实战之Zookeeper集群
1. 概述 这里是 Docker 实战系列第四篇.主要介绍分布式系统中的元老级组件 Zookeeper. ZooKeeper 是一个开源的分布式协调服务,是 Hadoop,HBase 和其他分布式框架 ...
- Docker实战 | 第二篇:IDEA集成Docker插件实现一键自动打包部署微服务项目,一劳永逸的技术手段值得一试
一. 前言 大家在自己玩微服务项目的时候,动辄十几个服务,每次修改逐一部署繁琐不说也会浪费越来越多时间,所以本篇整理通过一次性配置实现一键部署微服务,实现真正所谓的一劳永逸. 二. 配置服务器 1. ...
随机推荐
- C#基础知识总结(一)
这个基础知识系列是我自己对基础知识的一个巩固和总结,在复习的过程中对细节知识点加深印象,可能其中有错误之处,请大家批评指正,谢谢.希望和大家共同学习共同进步. 摘要 这个系列一篇总结了:C#程序的结构 ...
- jdk的配置(适用于win7、win8、win10)
一.前言 win7和win8的jdk配置基本一样,所以本文以win7和win10来说明配置. 二.win7jdk环境配置(win8和这个一样) 首先安装好jdk,这里已安装好jdk7,本文采取的是jd ...
- Laravel篇二之本地版本库关联github
以往的工作中都是使用svn作为版本控制,对git分布式的有些陌生,本篇主要记录的本地存储myWeb-laravel的git版本库与github建立关联. 1.首先进入本地myWeb-laravel,执 ...
- vue(一)使用vue-cli搭建项目
一.安装node.js 去官网下载安装node.js: https://nodejs.org/en/ 安装完成后,可以在命令行工具(Windows是cmd,苹果是终端控制)输入node -v 和 ...
- idea编辑器快捷键调整
习惯了Eclipse中的删除快捷键,idea中的快捷键用着不是很适应,于是乎调整了下. idea编辑器快捷键调整: 默认:删除代码行:Ctrl+Y复制代码行:Ctrl+D在当前行之前添加一行: Ctr ...
- es6 语法 (函数扩展)
//函数参数默认值(more值后不能有参数) { function test(x,y = 'world'){ console.log('默认值',x,y); } test('hello');// he ...
- 【读书笔记】iOS-使用钥匙串保护数据
一,将应用从设备上删除时,并不会删除其钥匙串项,这使得调试工作困难得多.模拟器有一个Reset Contents and Settings选项,可用于将钥匙串项移除.因此,强烈建议在模拟器上确定Key ...
- bootstrap日期控件(双日期、清空等问题解决)
bootstrap以它优美的外观和丰富的组件,使它成为目前最流行的前端框架.在项目开发中,我们使用它的日期控件确实遇到了一些问题: 1.日期控件后面两个图标点击触发失效 2.双日期关联问题 3.双日期 ...
- Python 标准类库-数据类型之copy-深拷贝浅拷贝操作
标准类库-数据类型之copy-深拷贝浅拷贝操作 by:授客 QQ:1033553122 Python中赋值并不会拷贝对象,只是创建目标和对象的绑定关系. copy.copy(x) 返回x的浅拷贝 ...
- Python __exit__,__enter__函数with语句的组合应用
__exit__,__enter__函数with语句的组合应用 by:授客 QQ:1033553122 简介 设计对象类时,我们可以为对象类新增两个方法,一个是__enter(self)__,一个 ...