docker 操作命令

尚硅谷docker学习笔记整理

docker操作

systemctl start docker 启动docker
systemctl stop docker 停止docker
systemctl restart docker 重启docker
systemctl status docker 查看docker状态
systemctl enable docker 设置开机启动
docker info 查看docker概要信息
docker --help 查看docker总体帮助文档
docker 具体命令 --help 查看docker具体命令帮助文档
docker system df 查看docker镜像,容器,数据卷所占据的空间

镜像操作

docker images 查看所有镜像
docker rmi [镜像] 删除镜像
docker pull [镜像:版本号] 拉取镜像
docker commit -m=“ifconfig” -a=“rx” [容器id] rx/my:1.2 生成本地容器镜像

容器操作

docker run -p 80:80 -v /主机目录:/容器目录 -d [镜像]:[版本号] 启动容器
docker exec -it nginx /bin/bash 进入nginx容器
docker restart [容器] 重启容器
docker stop [容器] 停止容器
docker start [容器] 启动容器
docker ps -a 查看所有docker容器
docker logs [容器] 查看容器日志
docker top 容器 查看容器内运行的进程
docker inspect 容器 查看容器内部运行细节
docker rm 容器 删除容器
docker rm -f $(docker ps -a -q) 一次性删除多个容器
docker kill 容器 强制停止容器
docker cp /www/runoob 96f7f14e99ab:/www 将主机内容拷贝到容器
docker cp 96f7f14e99ab:/www /tmp/ 将容器内容拷贝到主机
docker export 容器ID > 文件名.tar.gz
docker export 49219a6d957d > aa.tar.gz 将容器导出
cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号
cat aa.tar.gz | docker import - rx/amysql:1.1 导入容器

推送镜像到私服仓库

1、下载本地私有仓库 docker pull registry
2、启动私服仓库 docker run -d -p 5000:5000 -v /rx/myregistry:/tmp/registry --privileged=true registry
3、修改本地镜像格式,使之可以提交到私有仓库
docker tag rx/my:1.2 192.168.204.151:5000/rx/my:1.2
4、 编辑阿里云镜像加速配置文件
vim /etc/docker/daemon.json
{
“registry-mirrors”: [“https://wnaovsqp.mirror.aliyuncs.com”],
“insecure-registries”:[“192.168.204.151:5000”] --目标仓库地址和端口号
}
5、推送镜像到私服仓库
docker push 192.168.204.151:5000/rx/my:1.2
6、查看私服仓库已有镜像
curl -XGET http://192.168.204.151:5000/v2/_catalog
7、从私有仓库下载镜像
docker pull 192.168.204.151:5000/rx/my:1.2
–推送到阿里云镜像仓库,直接参考阿里云容器服务文档

安装mysql

sudo docker pull mysql:5.7
sudo docker run -p 3306:3306 --name mysql
-v /mydata/mysql/log:/var/log/mysql
-v /mydata/mysql/data:/var/lib/mysql
-v /mydata/mysql/conf:/etc/mysql
-e MYSQL_ROOT_PASSWORD=root
-d mysql:5.7

mysql主从复制

1、新建主服务器容器实例3307

docker run -p 3307:3306 --name mysql-master
-v /mydata/mysql-master/log:/var/log/mysql
-v /mydata/mysql-master/data:/var/lib/mysql
-v /mydata/mysql-master/conf:/etc/mysql
-e MYSQL_ROOT_PASSWORD=root
-d mysql:5.7

2、进入/mydata/mysql-master/conf目录下新建my.cnf

vim my.cnf

[mysqld]

## 设置server_id,同一局域网中需要唯一

server_id=101 

## 指定不需要同步的数据库名称

binlog-ignore-db=mysql  

## 开启二进制日志功能

log-bin=mall-mysql-bin  

## 设置二进制日志使用内存大小(事务)

binlog_cache_size=1M  

## 设置使用的二进制日志格式(mixed,statement,row)

binlog_format=mixed  

## 二进制日志过期清理时间。默认值为0,表示不自动清理。

expire_logs_days=7  

## 跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断。

## 如:1062错误是指一些主键重复,1032错误是因为主从数据库数据不一致

slave_skip_errors=1062

3、修改完配置后重启master实例

docker restart mysql-master

4、进入mysql-master容器

docker exec -it mysql-master /bin/bash
mysql -uroot -proot

5、master容器实例内创建数据同步用户

CREATE USER ‘slave’@’%’ IDENTIFIED BY ‘123456’;
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON . TO ‘slave’@’%’;

6、新建从服务器实例3308

docker run -p 3308:3306 --name mysql-slave
-v /mydata/mysql-slave/log:/var/log/mysql
-v /mydata/mysql-slave/data:/var/lib/mysql
-v /mydata/mysql-slave/conf:/etc/mysql
-e MYSQL_ROOT_PASSWORD=root
-d mysql:5.7

7、进入/mydata/mysql-slave/conf目录下新建my.cnf

vim my.cnf

[mysqld]

## 设置server_id,同一局域网中需要唯一

server_id=102

## 指定不需要同步的数据库名称

binlog-ignore-db=mysql  

## 开启二进制日志功能,以备Slave作为其它数据库实例的Master时使用

log-bin=mall-mysql-slave1-bin  

## 设置二进制日志使用内存大小(事务)

binlog_cache_size=1M  

## 设置使用的二进制日志格式(mixed,statement,row)

binlog_format=mixed  

## 二进制日志过期清理时间。默认值为0,表示不自动清理。

expire_logs_days=7  

## 跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断。

## 如:1062错误是指一些主键重复,1032错误是因为主从数据库数据不一致

slave_skip_errors=1062  

## relay_log配置中继日志

relay_log=mall-mysql-relay-bin  

## log_slave_updates表示slave将复制事件写进自己的二进制日志

log_slave_updates=1  

## slave设置为只读(具有super权限的用户除外)

read_only=1

8、修改配置后重启slave实例

docker restart mysql-slave

9、在主数据库中查看主从同步状态

show master status;

10、进入mysql-slave容器

docker exec -it mysql-slave /bin/bash
mysql -uroot -proot

11、在从数据库中配置主从复制

change master to master_host=‘宿主机ip’, master_user=‘slave’, master_password=‘123456’, master_port=3307, master_log_file=‘mall-mysql-bin.000001’, master_log_pos=617, master_connect_retry=30;

12、在从数据库中查看主从同步状态

show slave status \G;

13、在从数据库中开启主从同步状态

start slave;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ranx3

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值