docker详细笔记

第一章:安装

centos安装教程:Install Docker Engine on CentOS | Docker Docs

1、操作系统

镜像版本:CentOS-7-x86_64-Minimal-1708.iso

2、yum -y install gcc

3、yum -y install gcc-c++

4、yum install -y yum-utils

5、设置stable镜像仓库

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

6、更新yum软件包索引

yum makecache fast

7、安装docker引擎

yum -y install docker-ce docker-ce-cli containerd.io

8、启动docker

systemctl start docker

9、校验

docker run hello-world

配置好域名,否则下载不了

9-1、 vi /etc/syconfig/network-scripts/ifcfg-ens33

往配置文件里最后一行写入

DNS1=8.8.8.8

9-2、 vi /etc/resolv.conf

同样 往配置文件里最后一行写入

nameserver 8.8.8.8

9-3、 重启网络服务和docker

service network restart

service docker restart

10、阿里云镜像加速

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://cgh58wzg.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

第二章:常用命令

1、帮助启动类命令:

启动docker:systemctl start docker

停止docker:systemctl stop docker

重启docker:systemctl restart docker

查看docker状态:systemctl status docker

开机启动:systemctl enable docker

查看docker概要信息:docker info

查看docker总体帮助文档:docker --help

查看docker命令帮助文档:systemctl 具体命令 --help

2、镜像命令:

docker images

docker search 镜像名字。例子:docker search --limit 5 redis

docker pull 镜像名字。例子:docker pull redis:6.0.8

docker push

查看镜像/容器/数据卷所占的空间:docker system df

删除:docer rmi 镜像名字/ID。例子:docker rmi -f 7614ae9453d1,feb5d9fea6a5

虚悬镜像:仓库名、标签都是none的镜像。

3、容器命令:

新建+启动容器:

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]。例子:

docker run -it ubuntu; exit;(退出)

docker run -it --name=myUbuntu ubuntu bash

端口映射:-P随机端口。-p指定端口。例如:8080:80

列出当前所有正在运行的容器实例:

docker ps

退出容器:

exit:退出时,容器会停止

ctrl+p+q:退出时,容器不会停止

启动已经停止的容器:

docker start 容器id/容器名

停止容器:

docker stop 容器id

强制停止容器:

docker kill 容器名/容器id

删除已经停止的容器:

docker rm 容器ID

一次性删除多个容器:

docker rm -f $(docker ps -a -q) 或者 docker ps -a -q | xargs docker rm

启动守护容器:

docker run -d 容器名

查看docker容器日志:

docker logs 容器id/容器名

查看容器内运行的进程

docker top 容器id

查看docker内部细节:

docker inspect 容器id

重新进入操作系统容器:

docker exec -it 容器id /bin/bash :在容器中打开新的终端,并且可以启动新的进程。用exit退出,容器不会停止

docker attach 容器id:直接进入容器启动命令的终端,不会启动新的进程。容exit退出,容器会停止

拷贝容器内的文件到目标主机:

docker cp 容器id:容器内路径 目的主机路径

导入和导出容器:

export 导出容器的内容作为一个tar归档文件:docker export 容器id > 归档名.tar

import 从tar包中的内容创建一个新的文件系统再导入为镜像: cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号。例子:cat 归档名.tar | docker import - atguigu/ubuntu:3.7

第三章:制作新的镜像

1、docker run -it ubuntu

2、apt-get update

3、apt-get -y install vim

4、docker commit -m="add vim cmd" -a="guody" e8a877e82421 myubuntu:1.1(名称必须小写)

5、发布到私有仓库:

第四章:高级篇

数据库主从复制:

创建主数据库:

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

cd /mydata/mysql-master/conf;
vim my.cnf;

[mysqld]
server_id=101
binlog-ignore-db=mysql
log-bin=mall-mysql-bin
binlog_cache_size=1M
binlog_format=mixed
expire_logs_days=7
slave_skip_errors=1062

重启容器:docker restart mysql-master

创建主从权限用户:

create user 'slave'@'%' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'slave'@'%';

创建从数据库:

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
cd /mydata/mysql-slave/conf;
vim my.cnf;

[mysqld]
server_id=102
binlog-ignore-db=mysql
log-bin=mall-mysql-slave1-bin
binlog_cache_size=1M
binlog_format=mixed
expire_logs_days=7
slave_skip_errors=1062
relay_log=mall-myslq-reloay-bin
log_slave_updates=1
read_only=1

重启容器:docker restart mysql-slave

在从数据库配置主从服务

登录从机数据库,执行:

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;

查看状态:

show slave status \G;

show master status;

在从数据库开启主从同步:

start slave;

检查主从状态:show slave status \G;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

阳光程序员

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

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

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

打赏作者

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

抵扣说明:

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

余额充值