安装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
2、从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
- 2、拷贝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
- 3、停止并删除nginx容器
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