安装Docker所需要的一些工具包 {#安装Docker所需要的一些工具包}
|-----------|---------------------------------------|
| 1
| sudo yum install -y yum-utils
|
建立仓库 {#建立仓库}
|---------------|--------------------------------------------------------------------------------------------------------|
| 1 2 3
| sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
|
安装Docker引擎 {#安装Docker引擎}
|-----------|----------------------------------------------------------------|
| 1
| sudo yum install docker-ce docker-ce-cli containerd.io
|
启动Docker {#启动Docker}
|-----------|-------------------------------------|
| 1
| sudo systemctl start docker
|
测试 Docker 是否安装正常 {#测试-Docker-是否安装正常}
|-----------|-------------------------------------|
| 1
| sudo docker run hello-world
|
docker安装MySQL {#docker安装MySQL}
安装/启动docker的mysql前,先关闭Linux之前自启动的mysql 否则端口3306可能会报端口被占用的错(如果Linux没安装有MySQL或没有开启过MySQL自启动,可忽略这一步)
报错示意图
解决方式
|-----------|-------------------------------|
| 1
| systemctl stop mysqld
|
安装mysql镜像 {#安装mysql镜像}
|-----------|--------------------------------|
| 1
| sudo docker pull mysql
|
安装mysql指定版本(可忽略) {#安装mysql指定版本-可忽略}
|-----------|------------------------------------|
| 1
| sudo docker pull mysql:5.7
|
安装结束后,查看本地是否存在
|-----------|-----------------------------|
| 1
| sudo docker images
|
运行mysql {#运行mysql}
|-----------|---------------------------------------------------------------------------------------|
| 1
| docker run --name=mysql -it -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql
|
上述命令的含义:
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';
|
exit退出镜像内部
停止和重启mysql容器:
停止容器:
|-----------|------------------------------------------------|
| 1
| docker stop 30aa98ea4e3d #(镜像运行的容器id号)
|
重启:
查看所有容器,包括停止的:
|-----------|----------------------|
| 1
| docker ps -a
|
重启:
|-----------|-------------------------------------|
| 1
| docker restart 30aa98ea4e3d
|
也可以移出这个容器:
|-----------|--------------------------------|
| 1
| docker rm 30aa98ea4e3d
|
使用Navicat远程访问mysql
Docker常用命令 {#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
|