Docker安装与配置

安装Docker所需要的一些工具包

1
sudo yum install -y yum-utils

image-20220731125839540

image-20220731125908437

建立仓库

1
2
3
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo

image-20220731130006710

安装Docker引擎

1
sudo yum install docker-ce docker-ce-cli containerd.io

image-20220731130144030

image-20220731130203900

image-20220731130213877

启动Docker

1
sudo systemctl start docker

测试 Docker 是否安装正常

1
sudo docker run hello-world

image-20220731130710881

image-20220731130750525

docker安装MySQL

安装/启动docker的mysql前,先关闭Linux之前自启动的mysql 否则端口3306可能会报端口被占用的错(如果Linux没安装有MySQL或没有开启过MySQL自启动,可忽略这一步)

报错示意图

image-20220801082725721

解决方式

1
systemctl stop mysqld

安装mysql镜像

1
sudo docker pull mysql 

image-20220731131601406

安装mysql指定版本(可忽略)

1
sudo docker pull mysql:5.7

image-20220731131810847

安装结束后,查看本地是否存在

1
sudo  docker images

image-20220731131938325

运行mysql

1
docker run --name=mysql -it -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql

image-20220731181704154

上述命令的含义:
docker run:在docker中启动一个容器实例

--name mysql:容器运行后的名称

-p 3306:3306:容器与主机映射端口为,主机3306,容器3306

-e MYSQL_ROOT_PASSWORD=root:设置当前mysql实例的密码为root

-d: 用于指定要运行的镜像

开启外部访问

根据容器id进入镜像内部:

1
docker exec -it 30aa98ea4e3d bash

进入mysql:

1
mysql -uroot -p 
1
use mysql
1
ALTER USER'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

image-20220731182330880

exit退出镜像内部

停止和重启mysql容器:
停止容器:

1
docker stop 30aa98ea4e3d #(镜像运行的容器id号)

重启:

查看所有容器,包括停止的:

1
docker ps -a

重启:

1
docker restart 30aa98ea4e3d

也可以移出这个容器:

1
docker rm 30aa98ea4e3d

使用Navicat远程访问mysql

image-20220731181812981

Docker常用命令

新建容器

1
docker run -d --name 自定义容器名 镜像ID或镜像名

展示当前运行的容器

1
docker ps

展示所有容器

1
docker ps -a

展示所有本地镜像

1
docker images

运行容器

1
docker start 容器名或容器ID

停止运行容器

1
docker stop 容器名或容器ID

删除容器

1
docker rm -f 容器名或容器ID

进入容器内容bash

1
2
docker exec -it 容器名或容器ID bash
# 退出容器命令:exit

关闭docker服务

1
systemctl stop docker