1 linux下安装docker
卸载旧docker
yum remove docker*
安装docker
yum install docker
启动 Docker 并设置开机自启
systemctl enable docker --now
至此,docker安装成功。
docker常用命令
#拉取镜像
docker pull 镜像名
#查看镜像
docker images
#删除镜像
docker rmi 镜像名
#查看运行中的容器
docker ps
#查看所有容器
docker ps -a
#删除镜像
docker rm -f 容器id/容器名
#后台运行
-d
docker run -d nginx
#容器起名字
--name=nginx
docker run --name=nginx -d nginx
#容器自启动
--restart=always
docker run --name=nginx -d --restart=always nginx
#容器端口映射
-p 88:80
docker run --name=nginx -d --restart=always -p 88:80 nginx
#进入容器
#交互模式
-it
#bash命令台
./bin/bash
docker exec -it nginx ./bin/bash
#提交镜像,制作基础镜像
-a 作者
-m 改变内容
docker commit -a "gaorimao" -m "nginx基础镜像" 原镜像id nginx_base:1.0
#镜像导出为tar
docker save -o nginx.tar nginx
#远程传输文件
scp nginx.tar root@10.0.0.1:/home/nginx_base.tar
#docker加载tar文件,导入镜像
docker load -i nginx_base.tar
#docker数据挂载
-v 挂载
docker run --name=nginx -d -p 80:80 \
-v /mydata/nginx/html:/usr/share/nginx/html \
-v /mydata/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /mydata/nginx/log:/var/log/nginx \
--restart=always nginx
#把容器里的文件复制到外面来
docker cp 容器id:/etc/nginx/nginx.conf /mydata/nginx/conf/nginx.conf
#把外面的文件复制到容器中
docker cp /mydata/nginx/conf/nginx.conf 容器id:/etc/nginx/nginx.conf
2 docker下安装redis
# 查找 redis 相关镜像
docker search redis
# 下载镜像
docker pull redis
# 查看已下载镜像
docker images
# 创建相关目录
mkdir /mydata/redis/data
mkdir /mydata/redis/conf
# 下载 redis 配置文件
http://download.redis.io/redis-stable/redis.conf
# 将配置文件放入上面的配置路径
/mydata/redis/conf/redis.conf
# 修改redis 配置文件
75行左右的 【bind 127.0.0.1 -::1】 注释掉, 这个配置仅允许本地访问
901行左右的 【# requirepass foobared】去掉注释或新增一行, 变为 【requirepass passwd】, passwd就是你要设置的密码
# 其他自定义配置自己进行处理
# 创建容器并启动
docker run \
--name redis \
-p 6379:6379 \
--restart=always \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-v /mydata/redis/data:/data \
-v /etc/localtime:/etc/localtime:ro \
-d redis \
redis-server /etc/redis/redis.conf
docker设置redis自启动
sudo docker update redis --restart=always
至此,redis部署成功!
3 docker安装mysql
安装mysql
docker pull mysql
查看镜像
docker images
docker启动mysql
docker run --name=mysql \
-v /mydata/mysql/conf:/etc/mysql/conf.d \
-v /mydata/mysql/logs:/logs \
-v /mydata/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root -d -i \
--restart=always \
-p 3306:3306 mysql:latest
查看
docker ps -a
docker中mysql命令
docker exec -it mysql bash
修改mysql远程连接权限
mysql -uroot -proot
use mysql
ALTER USER 'root'@'%' IDENTIFIED BY 'root' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
FLUSH PRIVILEGES;
设置mysql自启动
sudo docker update mysql --restart=always
cmd远程连接mysql
mysql -h 124.223.118.207 -u root -proot
【连接失败原因】
我用的是腾讯云,需要在腾讯云后台把3306端口开放了,才可以
至此,mysql安装成功!