一、在Linux上安装docker
Linux系统版本:CentOS7
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. 设置镜像仓库:
docker 默认拉取国外的镜像,速度较慢,修改为国内阿里云的镜像库。
yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo//阿里的
//使用 yum makecache fast 更新yum软件包索引
4. 安装docker相关的最新版本
yum install docker-ce docker-ce-cli containerd.io
docker version查看docker版本
5. 启动docker
systemctl start docker
6. 测试helloword
启动容器,docker没有该镜像则会去拉取镜像再
docker run hello-world
7. 查看镜像
docker images
8.卸载镜像
①. 卸载依赖
yum remove docker-ce docker-ce-cli containerd.io
②.删除资源
rm -rf /var/lib/docker
二、docker安装及使用遇到的一些问题
启动docker错误:
Job for docker.service failed because start of the service was attempted too often. See "systemctl status docker.service" and "journalctl -xe" for details.
To force a start use "systemctl reset-failed docker.service" followed by "systemctl start docker.service" again.
执行以下两条命令,对docker的相关配置文件进行更改。
vim /etc/docker/daemon.json
mv /etc/docker/daemon.json /etc/docker/daemon.conf
三、docker的常用指令
docker version,显示docker的版本信息
docker info 显示docker的系统信息,包括镜像和容器的数量
docker --help 帮助命令
docker images --help 镜像帮助指令
docker images 查看镜像
删除docker中的镜像:docker rmi 镜像id
查看docker中的镜像:docker image
删除docker中的容器:docker rm 容器id
查看docker中的容器:docker ps -a
查看docker 容器的IP地址: docker inspect 容器名 | grep "IPAddress"
docker操作镜像
1.docker run
docker run 只在第一次运行时使用,将镜像放到容器中,以后再次启动这个容器时,只需要使用命令docker start 即可。
docker run相当于执行了两步操作:将镜像放入容器中(docker create),然后将容器启动,使之变成运行时容器(docker start)。
2.docker start
docker start的作用是,重新启动已存在的镜像。也就是说,如果使用这个命令,我们必须事先知道这个容器的ID,或者这个容器的名字,我们可以使用docker ps找到这个容器的信息。
3.查看所有容器
而要显示出所有容器,包括没有启动的,可以使用命令docker ps -a
4.重命名
docker rename old_name new_name
给这个容器命名。再次启动或停止容器时,就可以直接使用这个名字。
5.启动和停止镜像
docker [stop]|[start] name
四、docker安装mysql
1. docker search mysql #查找需要下载的mysql信息
2. docker 中下载 mysql
docker pull mysql #下载最新版本的mysql
3. 启动mysql(第一次)
docker run --name mysql -p 3366:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql #当端口被占用时,修改端口的映射,本地端口--容器端口
##之后启动mysql时使用docker start mysql启动docker容器
4. 进入容器
docker exec -it mysql bash
5. 进入mysql
mysql -uroot -p #输入密码
douckerHub可以查看容器安装指令和默认的存储位置
四、mysql容器操作
1. mysql创建新用户
CREATE USER 'Guo'@'localhost' IDENTIFIED BY 'password'; #root在localhost创建用户Guo,密码为password
GRANT ALL ON . TO ‘Guo’@‘%’ #为所有数据库的所有表创建所有权限。
提示没有GRANT权限
update mysql.user set host = '%' where user = 'Guo'; #更新权限
flush privileges 刷新
2. 连接Navicate2059出错
修改加密规则
ALTER USER 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
更新用户的密码(没有执行会失败)
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'