# Docker
# 1.Docker
# 1.1 安装Docker
## 获取docker所有的工具
sudo apt-install docker*
1
2
2
# 1.2 启动Docker
## 启动docker
service docker start
## 设置docekr随系统启动而启动
systemctl enable docker
1
2
3
4
2
3
4
# 1.3 设置镜像加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://5mjkeal5.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 2. 镜像
# 2.1镜像基本命令
# 查看当前正在运行的镜像(没有-a则表示运行过的镜像)
docker ps -a
# 查看本地所有的镜像
docker iamges
1
2
3
4
2
3
4
# 2.2 redis镜像
获取redis镜像
docker pull redis
1从官网获取redis.conf配置文件
- 修改默认配置文件
- bind 127.0.0.1 #注释掉这部分,这是限制redis只能本地访问
- protected-mode no #默认yes,开启保护模式,限制为本地访问
- daemonize no#默认no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程(可选),改为yes会使配置文件方式启动redis失败
- dir ./ #输入本地redis数据库存放文件夹(可选)
- appendonly yes #redis持久化(可选)
镜像启动命令
docker run -p 6379:6379 --restart=always --name myredis01 -v ${home目录}/redis.conf:/etc/redis/redis.conf -v ${home目录}/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes
1
- 命令解析说明:
- -p 6379:6379 端口映射:前表示主机部分,:后保湿容器部分
- --restart=always 表示容器随docker启动而启动
- --name myredis01 指定容器的名称
- -v 挂在目录
- -d redis 表示后台启动redis
- redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的conf文件,最终找到的是挂在目录/usr/local/docker/redis.conf
- appendonly yes 开启redis持久化
查看redis容器是否运行
docker ps
1测试redis连接
docker exec -it redis01 redis-cli
1进入redis容器中
docker exec -it redis01 /bin/bash
1
# 2.3 mysql镜像命令
获取mysql5.7.28
docker pull mysql:5.7.28
1若不带:5.7.28则会下载最新的mysql,这里我们只安装mysql5.7.28即可
mysql镜像启动命令
docekr run -p 3306:3306 --name mysql01 --restart=always -v ${home目录}/data:/var/lib/mysql -v ${home目录}/mysql01:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=******* -d mysql:5.7.28
1-p 3306:3306 作用同redis一致
-v ${home目录}/data:/var/lib/mysql 表示的是将mysql中的数据同步到本地目录mysql01/data下
-e MYSQL_ROOT_PASSWORD=
********
是设置root用户的登陆密码
进入mysql镜像
docker exec -it mysql01 /bin/bash
1进入镜像后查看数据库
# 直接通过登陆的方式登入数据库 mysql -uroot -p
1
2
# 3.容器
# 3.1容器基本命令
# 查看所有的容器
docker container list
# 容器的启动、删除、关闭、重启,括号里可以有也可以没有,[]里的表示容器的id,也可以使用容器的别名
docker (container) start/rm/stop/restart [containerIdOrAlais]
1
2
3
4
2
3
4