Docker配置
Linux下安装docker
Centos安装docker
yum install docker #输入 Y 确认运行
yum -y install docker #也可以直接在运行栏上加-y,免确认
Ubuntu 将yum换成apt-get
sudo apt-get install -y docker.io
启动 docker
systemctl start docker
查看 docker 服务状态
systemctl status docker
Docker常用命令
镜像操作
查看本地镜像
docker images
-a #显示全部信息
-q #只显示ID
下载镜像
docker pull #镜像名
删除镜像
docker rmi [镜像ID]
容器操作
运行镜像创建容器
docker run -p [宿主机端口]:[Docker端口] --name[容器名] -d [镜像名]
#后台启动docker,并指定宿主机端口和docker映射端口。
查看容器
docker ps #查看在运行中的容器
docker ps -a #查看所有的容器
进入容器终端
sudo docker exec -it [containerID] /bin/bash #进入容器终端交互模式
交互模式中,使用 ctrl+p+q退出交互 保持运行,使用 exit命令退出并停止容器。
启动容器
docker start [容器id]
停止容器
docker stop [容器id]
删除容器
docker rm [容器ID]
复制文件
docker cp [存放文件地址] [容器ID]:[Docker文件地址]
Docker安装Mysql
下载Mysql镜像
docker pull mysql:5.7
创建mysql容器
docker run -p 3306:3306 --name mysql1 -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
-p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口。左边主机端口,右边容器端口
-v -v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。
-v $PWD/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。
-v $PWD/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。
-e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。
由于Mysql默认禁止非本机IP禁止访问,所以需要配置允许外部连接
进入Mysql终端
docker exec -it [Mysql容器ID] /bin/bash
进入mysql
mysql -uroot -p[用户密码]
授权并刷新权限
GRANT ALL ON *.* TO 'root'@'%';
flush privileges;
Docker安装redis
下载redis镜像
docker pull redis
创建redis容器
docker run -d --name myredis -p 6379:6379 redis --requirepass "mypassword"
mypassword为密码
#docker run -d --name redis --restart always -p 6379:6379 -v /usr/local/redis/config:/etc/redis -v /usr/local/redis/data:/data redis redis-server /etc/redis/redis.conf --requirepass "123456" --appendonly yes
-p 6379:6379 //容器redis端口6379映射宿主主机6379
--name redis //容器名字为redis
-v /usr/local/redis/conf:/etc/redis //docker镜像redis默认无配置文件,在宿主主机/usr/local/redis/conf下创建redis.conf配置文件,会将宿主机的配置文件复制到docker中
-v /root/redis/redis01/data:/data //容器/data映射到宿主机 /usr/local/redis/data下
-d redis //后台模式启动redis
redis-server /etc/redis/redis.conf //redis将以/etc/redis/redis.conf为配置文件启动
--appendonly yes //开启redis的AOF持久化,默认为false,不持久化