只想说为啥之前不学Docker呢,Docker牛逼。。。
安装Docker(先更新一下yum)
1.使用 root 权限登录 Centos。确保 yum 包更新到最新。
sudo yum update
2.卸载旧版本(如果安装过旧版本的话)
sudo yum remove docker docker-common docker-selinux docker-engine
3.安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
4.设置yum源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
5.可以查看所有仓库中所有docker版本,并选择特定版本安装
yum list docker-ce --showduplicates | sort -r
6.安装docker
sudo yum install docker-ce
7.启动并加入开机启动
sudo systemctl start dockersudo systemctl enable docker
8.验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
docker version
9、启动docker
systemctl start docker
docker ‐v
10、开机启动docker
systemctl enable docker
11、停止docker
systemctl stop docker
基本命令:
1、搜索镜像
docker search tomcat
2、拉取镜像
docker pull tomcat
3、根据镜像启动容器
docker run ‐‐name mytomcat ‐d tomcat:latest
4、docker ps
查看运行中的容器
5、 停止运行中的容器
docker stop 容器的id
6、查看所有的容器
docker ps ‐a
7、启动容器
docker start 容器id
8、删除一个容器
docker rm 容器id
9、启动一个做了端口映射的tomcat
docker run ‐d ‐p 8888:8080 tomcat
‐d:后台运行
‐p: 将主机的端口映射到容器的一个端口 主机端口:容器内部的端口
10、为了演示简单关闭了linux的防火墙
service firewalld status ;查看防火墙状态
service firewalld stop:关闭防火墙
11、查看容器的日志
docker logs container‐name/container‐id
启动MySQL的正确操作
docker run -p 3306:3306 --name mysqlplantForarg -e MYSQL_ROOT_PASSWORD=123456 -d mysql
遇到121错误代码:“mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password, 所以需要把mysql用户登录密码加密规则还原成mysql_native_password. ”
1. docker exec -it mysql bash
2. mysql -uroot -p
进入到Mysql命令行后
3. ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
4. flush privileges
Tomcat进不去模型小tom的解决方案:
docker exec -it tomcat /bin/bash
ls后,发现webapp里没东西,东西都在webapp.dist文件夹下,mv改下名字
Redis
docker run -itd --name redis-test -p 6379:6379 redis