安装docker
官方文档
Install Docker Engine on CentOS | Docker Documentation
1、卸载旧版本
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2、需要的安装包
yum install -y yum-utils
3、设置镜像仓库
-- 国外的,不推荐
yum-config-manager \
--add-repo
https://download.docker.com/linux/centos/docker-ce.repo
-- 阿里云镜像地址
yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4、更新yum索引包
yum makecache
5、安装docker引擎
docker-ce 社区版 docker-ee 企业版
yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
6、启动docker
systemctl start docker
7、卸载docker
yum remove docker-ce docker-ce-cli containerd.io docker-compose-plugin
rm -rf /var/lib/docker
rm -rf /var/lib/containerd
docker命令
Reference documentation | Docker Documentation
docker version -- docker版本信息
docker info -- docker信息
docker images -- 查看镜像
docker 命令 --help -- 帮助文档
docker ps -a --
docker pull xxx -- 下拉镜像
docker rmi -f 镜像id -- 删除镜像
docker search xxx -- 搜索镜像
docker attach 镜像id -- 进入镜像,推出,镜像停止
docker exec -it 镜像id /bin/bash -- 进入镜像,推出,镜像不停止,推荐
安装Nginx
1、下载镜像
docker pull Nginx
- 1、本地创建文件目录
mkdir -p /opt/docker/Nginx/conf.d
mkdir -p /opt/docker/Nginx/html
mkdir -p /opt/docker/Nginx/logs
touch /opt/docker/Nginx/conf/Nginx.conf
注:需要先创建个Nginx容器,再将本地目录挂载上
docker run --name Nginx -p 80:80 -d Nginx
docker cp Nginx:/etc/Nginx/Nginx.conf /opt/docker/Nginx/conf/Nginx.conf
docker cp Nginx:/etc/Nginx/conf.d /opt/docker/Nginx/conf.d
docker cp Nginx:/usr/share/Nginx/html /opt/docker/Nginx
docker cp Nginx:/var/log/Nginx /opt/docker/Nginx/logs
docker stop Nginx
docker rm Nginx
重新启动Nginx镜像重新新容器
docker run -p 80:80 --name Nginx \
-v /opt/docker/Nginx/conf/Nginx.conf:/etc/Nginx/Nginx.conf \
-v /opt/docker/Nginx/conf.d:/etc/Nginx/conf.d \
-v /opt/docker/Nginx/html:/usr/share/Nginx/html \
-v /opt/docker/Nginx/logs:/var/log/Nginx \
-d Nginx
docker restart Nginx
有个小坑,再启动Nginx容器时,/etc/Nginx/conf.d/conf.d ,会多出个/conf.d,导致宿主机访问
将这个目录删除就好了
安装redis
1、拉镜像
docker pull redis
2、创建宿主机挂载目录
/opt/docker/redis/redis.conf
/opt/docker/redis/data
3、启动redis容器
docker run \
--restart=always \
-p 6379:6379 \
--name myredis \
-v /opt/docker/redis/redis.conf:/etc/redis/redis.conf \
-v /opt/docker/redis/data:/data \
-d redis redis-server /etc/redis/redis.conf \
--appendonly yes
--restart=alway -- 总是开机启动
--appendonly yes -- 开启redis持久化
安装MysqL
1、拉去镜像
docker pull MysqL:5.7
2、创建挂载目录
mkdir -p /opt/docker/MysqL/logs
mkdir -p /opt/docker/MysqL/data
mkdir -p /opt/docker/MysqL/conf
3、启动容器
docker run
--restart=always \
-p 3306:3306 --name MysqL \
-v /opt/docker/MysqL/logs:/var/log/MysqL \
-v /opt/docker/MysqL/data:/var/lib/MysqL \
-v /opt/docker/MysqL/conf:/etc/MysqL \
-e MysqL_ROOT_PASSWORD=密码 \
-d MysqL:5.7
4、进入MysqL容器
docker exec -it MysqL /bin/bash
5、登入MysqL
MysqL -u root -p
6、检查是否给root用户授权了远程访问
> use MysqL;
> select User,authentication_string,Host from user;
-- 如果未开启远程访问
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' ;
-- 刷新权限
flush privileges;
7、重启MysqL容器
docker restart MysqL