安装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 |
51工具盒子