Docker安装和使用,Docker拉取Mysql.

这篇具有很好参考价值的文章主要介绍了Docker安装和使用,Docker拉取Mysql.。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


作者只是个docker入门新手,有些地方可能有误

Unbuntu安装docker

一开始我是想使用

yum -y install docker

这个命令安装docker的,但是这个命令对Unbuntu操作系统不适用
原因是在 Ubuntu 操作系统中,yum 命令并不是默认的软件包管理器。yum 命令主要用于基于 Red Hat 系列(如 CentOS、Fedora)的发行版。而在 Ubuntu 中,使用的是 apt 命令进行软件包管理。
所以可以使用以下方法:
1.更新apt软件库

sudo apt-get update

2.安装存储库

sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common

3.下载证书

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

4.apt添加docker的下载位置并使用阿里云镜像

add-apt-repository \
   "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

注意此步骤需要在root用户下进行
4.1(切换到root用户)
Unbuntu可能默认没有设置root的用户的密码,所以说如果使用

su root
123456

的方式,密码是不正确的,可以使用如下方式进入root用户

sudo -i

获取管理员权限之后,使用

passwd root

设置root用户的密码,然后就可以使用su root直接进入root用户

5.再次更新apt软件库

sudo apt-get update

6.用apt安装docker

sudo apt-get install docker-ce docker-ce-cli containerd.io

7.验证是否安装成功

docker --version

docker的相关操作

开启docker服务

systemctl start docker
systemctl start docker.service

二者是相同的命令,是因为 .service后缀是可以省略的
开启服务后,使用

docker version

即可看到对应的服务器和客户端.
值的一提的是,即便你没有使用这个命令,在大部分情况下,也是可以正常使用docker的.
因为该命令的目的是手动启动 Docker 引擎
但是当你使用docker的其他命令时,如:

docker pull 镜像名

Docker 客户端会自动连接到 Docker 引擎并执行相应的操作
所以说大多数情况下,是不需要我们手动开启Docker服务的,Docker命令会自动帮助我们连接Docker引擎.

以下是一些可能需要手动启动 Docker 引擎的情况:

1.系统启动后 Docker 引擎未自动启动:在某些配置中,Docker 引擎可能未设置为自动启动。如果你在系统启动后需要使用 Docker,但发现 Docker 引擎未运行,则可以使用 sudo systemctl start docker 命令手动启动它。

2.Docker 引擎异常停止:在某些情况下,Docker 引擎可能会异常停止,导致无法执行 Docker 相关操作。如果你尝试使用 Docker 命令时遇到连接错误或无法响应的情况,可以尝试先停止 Docker 引擎(使用 sudo systemctl stop docker 命令),然后再启动它(使用 sudo systemctl start docker 命令)。

3.需要以管理员权限运行 Docker:在某些 Linux 系统上,执行 Docker 命令可能需要管理员权限。如果你尝试执行 Docker 命令时遇到权限错误,可以使用 sudo 命令以管理员身份运行命令,例如 sudo docker pull。

成功启动docker服务后,我们可以通过

systemctl status docker
systemctl status docker.service

来查看docker的启动状态.


查看镜像

我们刚刚下载好的docker里面是什么镜像都没有的
我们可以使用

docker images

来查看docker镜像
*但是有时候我们在刚下好docker之后,使用docker images命令查看镜像时会爆出错误:“permission denied while…”
这是因为当前用户的权限不够,你需要把当前用户放入docker的用户组之中

sudo usermod -aG docker 用户名

这样普通用户也可以直接使用docker命令了


搜索镜像

docker search 镜像名

拉取镜像

docker pull 镜像名

*拉取失败,如何解决:
如果系统提示
Docker安装和使用,Docker拉取Mysql.
可以按照如下方法解决:

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://yxzrazem.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

之后就可以正常拉取镜像了

docker imgaes

查看拉取到的镜像↑

删除镜像

docker rmi 镜像名

删除的时候需要带上版本,如果不带版本默认删除latest版本

docker rmi 镜像名:版本

运行容器

运行容器

docker run 镜像名

后台运行容器

docker run -d 镜像名

这二者的区别是一个是前台运行容器,一个是后台运行容器
如果是前台运行容器的话,会直接把容器的执行结果打印在终端上,并会占用控制台,但是如果是后台运行的话,容器将在后台(守护进程模式)运行,不会将容器的输出直接打印到终端。容器将以守护进程的形式在后台运行,并且不会占用当前终端的控制权。你可以继续在终端中执行其他命令而不受容器的影响

运行容器时给容器起名

docker run --name 容器名 镜像名

–name是给生成的容器起一个名字,如果不用–name的话,生成的容器可能是一个随机生成的名字,不方便阅读.

运行容器并且绑定端口

docker run -p  主机上端口号:容器内部端口号 镜像名
docker run -p 3306:3306 images

具体来说,通过端口映射,你可以将容器内部的应用程序绑定到主机上的一个特定端口,使得主机上的其他进程或外部系统可以通过该端口与容器内的应用程序进行交互。这种机制允许容器内的应用程序提供网络服务,同时可以通过主机的网络接口进行访问。
例如,如果容器内运行着一个Web服务器,你可以使用端口映射将容器的Web服务器绑定到主机的某个端口,然后通过在主机上访问该端口,即可访问到容器中的Web服务器。这样,主机上的用户或其他系统就可以通过主机的IP地址和映射的端口与容器内的Web服务器进行通信。

比如说现在有一个mysql的容器,如果不绑定端口的话,那么它就仅仅是个mysql而不能跟主机上的其他程序交互,如果我给它绑定一个端口,我就可以写一个跟数据库连接的项目.

运行时进行宿主机和容器的挂载

docker run -v 用于将宿主机(Host)的目录或文件挂载到容器中的指定路径上。这样可以实现宿主机和容器之间的文件共享。

docker run -v  宿主机目录或文件的路径:容器中文件的目录或路径  镜像名

设置容器内的环境变量

docker run -e 环境变量名称=要设置的值 镜像名

例如:我将mysql容器中的密码设置为 123456

docker run -e MYSQL_ROOT_PASSWORD=123456 mysql 5.7

查看容器

列出所有正在运行的容器

docker ps

查看所有的容器

docker ps -a

停止运行容器

docker stop 容器id

重新运行容器

docker restart 容器id

删除容器

删除一个停止的容器

docker rm 容器id

构建一个Docker镜像

docker built -t 镜像名 dockerfile的路径
docker built -t hello-docker .

上面这个例子是我创建一个名字为 hello-docker 的镜像 “.”是dockerfile的路径

接下来的步骤将说明如何简单的自己创建一个镜像

cd ~
mkdir -p dockerWorkspace
cd dockerWorkspace
touch sunjin.sh    //创建一个shell脚本
chmod 777 sunjin.sh  //给shell脚本加权限才能运行
vim sunjin.sh      //编辑这个脚本

脚本的内容,随便写点东西

echo "hello,sunjin"
touch Dockerfile
vim Dockerfile

Dockerfile文件内容:

From alpine:latest                
ADD ./sunjin.sh /sunjin.sh   #将本地的 sunjin.sh文件复制到镜像中的
RUN chmod + x /sunjin.sh     #允许在容器内部执行命令
CMD ["/bin/sh","-c","sunjin.sh"]

built -t就是通过Dockerfile文件中的内容进行构建的

docker built  -t 镜像名 dockerfile路径

Dockefile板子示例

# 使用镜像 ubuntu:latest
FROM ubuntu:latest

#将本地文件,目录的内容复制到镜像中
ADD <src> <dest>
#其中src是本地的源文件或者目录,dest是镜像中的目标路径

# 安装必要的软件包
RUN apt-get update && apt-get install -y \
    software-package1 \
    software-package2

# 拷贝文件到镜像中
COPY ./app /app

# 设置工作目录
WORKDIR /app

# 运行启动命令
CMD ["python", "app.py"]

登陆Dockerhub

docker login -u 账号 -p 密码

但是有些系统比如Unbuntu可能会有这样的提示
Docker安装和使用,Docker拉取Mysql.
这是在提示你,直接将密码放在命令行中运行的方式并不安全,建议你将密码存在一个文件之中,然后用文件传输的方式输入密码.

查看自己的登陆信息

docker info

其中,username会显示你的用户名

搜索dockerhub上的库

docker search 关键字

提交镜像到dockerhub

给镜像打标签设置版本

docker tag 原镜像的id 新镜像名:版本
docker tag 原镜像名:版本 新镜像名:版本

我们在提交镜像之前,必须要先给镜像打标签,标明推入的仓库以及版本

docker tag 原镜像名:版本 用户名/仓库名:版本

我将mysql镜像换了一个名字并设置版本为1.0版本

docker tag c20987f18b13 my_mysql:1.0

这里标明mysql 5.7要被推入sunjin033/sunjin033中,版本为1.0

docker tag mysql:5.7 sunjin033/sunjin033:version_1.0

将镜像提交到个人仓库

docker push 用户名/库名:版本
docker push sunjin033/sunjin033:version_1.0

然后系统就会将我的 sunjin033/sunjin033:version_1.0提交到dockerhub上

退出dockerhub

docker logout

进入正在运行的容器的交互式终端

docker exec -it <container_id> bash

这样就可以正式的使用容器了

其他docker操作

查看容器日志

docker logs <container_id>

复制文件或目录到容器中

docker cp <local_path> <container_id>:<container_path>

复制容器中的文件或目录到主机中

docker cp <container_id>:<container_path> <local_path>

docker拉取mysql

1.先拉取一个mysql镜像

docker pull mysql:5.7

2.创建实例并且绑定端口

docker run -d -p 3306:3306 -v /usr/local/mysql/conf:/etc/mysql/conf.d -v /usr/local/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name  mysql mysql:5.7

分析

  1. -d后台运行,不占用控制台
  2. -p绑定容器的端口,将主机的3306和容器的3306绑在一起
  3. -v进行文件的挂载,可以让宿主机和容器共享数据,使用数据卷
  4. -e设置容器的环境变量,将mysql的密码设置为123456
  5. –name 给容器起一个别名,方便阅读

3.进入已经创建好的mysql容器之中

docker exec -it <container-name> bash
docker exec -it mysql容器的ID bash
docker exec -it mysql bash

4.输入mysql的密码,即可成功进入mysql

mysql -u root -p

紧接着输入mysql的密码123456即可出现mysql的控制台
Docker安装和使用,Docker拉取Mysql.
我们就可以在这里通过sql语句愉快的使用mysql了

Docker数据卷
*值的一提的是,Docker中的数据是临时的,如果我们将一个已经实例化好的mysql容器删除了,再重新创建一个mysql容器的话,那么之前mysql中的数据就会消失.

如果要保留 MySQL 数据,你可以使用 Docker 的数据卷(volumes)来持久化存储 MySQL 容器中的数据。通过挂载数据卷,可以将容器内的数据存储到宿主机上的指定目录中。

docker run -d -v /path/on/host:/var/lib/mysql --name mysql_container -e MYSQL_ROOT_PASSWORD=your_password mysql:tag

mysql的相关操作

进入这步的前提是你已经进入了mysql的控制台中,下面我将介绍几个简单的sql语句.

ps:记住,所有的sql语句在末尾都要加一个;表示结束!!!!
1.查看所有的数据库

show databases;

2.进入某个数据库,如果你想从某个数据库切换到另一个数据库,也是直接用这个命令.

use 数据库名;

3.查看这个数据库中所有的表

show tables;

4.查看某个表的表结构

desc 表名;

5.查看某个表的全部信息

select * from 表名;

6.创建一个表

CREATE TABLE users (
    id INT PRIMARY KEY,      
    name VARCHAR(50),
    age INT
);

其中primary key表示为主键.
7.向标准插入一条数据

INSERT INTO users (id, name, age)
VALUES (1, 'John Doe', 25);

8.退出mysql

exit;

退出容器

exit

如果在退出容器时,系统报错 “There are stopped jobs” 提示,这意味着你可能有一些已停止的作业在后台运行。
你可以尝试使用以下命令来清除后台作业:

jobs -l

这将列出后台运行的作业及其作业号。然后,使用 kill 命令加上作业号来终止该作业,例如:

kill %1

将 %1 替换为实际的作业号。

其他基本操作请参考基本的sql语句,这里就不再细说了.文章来源地址https://www.toymoban.com/news/detail-494485.html

到了这里,关于Docker安装和使用,Docker拉取Mysql.的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • linux安装docker教程+mysql安装 二、使用docker安装mysql

    第一步、关闭SELINUX服务  修改文件后的重启linux,重启命令为:reboot  注意此处虚拟机里修改重启无法启动linux系统成功,处理方法: 1、重启Linux按e进入系统启动项修改参数 2、在linux16的行位添加 selinux=0 按ctrl + x之后启动linux系统  3、启动之后,修改/etc/selinux/config文件 第二

    2024年02月09日
    浏览(45)
  • docker的安装,以及通过docker拉取nacos镜像和启动

    docker是一个镜像容器引擎,他可以将我们的应用和相关的依赖打包到一个容器中。这种打包会将对应的应用依赖的一些系统底层依赖一并打包进去,这样应用可以避免因为一些系统版本不同的原因导致应用运行失败的问题。docker各个容器之间互相独立,不会相互影响。这点依

    2024年04月11日
    浏览(38)
  • 【linux安装docker】使用docker安装mysql

             1.1 确保cenos版本是7.X 使用uanme -a查看docker内核版本 这里使用cenos7来安装docker         1.2 安装docker运行环境 安装docker运行环境之前,我们先来配置一下yum         2.1 备份         2.2 配置国内镜像加速         2.3 生成缓存         2.4 安装docker运行环境

    2024年02月09日
    浏览(46)
  • 安装Docker&使用Docker安装部署MySQL和Redis

    sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine sudo yum remove -y yum-utils sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 如果这一步报错,说尝试其他镜像的话,执行下面步骤

    2024年02月07日
    浏览(60)
  • 记一次线上mysql出错:由于docker自动拉取最新mysql镜像导致mysql容器无法启动

    我随便写写,你们随便看看 环境背景:在docker中部署mysql镜像,通过portainer管理docker容器 简单说下过程:docker里mysql的时区没有设置,导致相差8小时,通过增加TZ=Asiz/Shanghai环境变量,然后重启容器来生效。结果重启的时候始终无法启动起来,后来发现是自动升级了mysql镜像版

    2024年02月07日
    浏览(56)
  • 【Docker容器】Docker安装MySQL镜像详细步骤(适合新手使用)

    前言 自从用了Docker之后,发现装东西是真的香,不用在自己根据下载压缩包一个个的去解压、执行、配置环境等等操作。想要啥直接就用Docker直接即拿即用,灰常的舒服啊。话不多说,正式开干,直接开始安装步骤。以下所有的安装前提是你装了Docker引擎了,不要告诉我连

    2023年04月25日
    浏览(79)
  • 如何使用 Docker 启动 MySQL 服务,并从安装 Docker 开始进行

    Docker 是一款非常流行的应用容器化平台,可以快速的创建、打包、交付和运行应用程序。它极大地简化了应用程序的部署和管理,特别适用于云上运行的应用。本文将介绍如何使用 Docker 启动 MySQL 服务,并从安装 Docker 开始进行。 第一步:安装 Docker 首先需要在你的系统上安

    2024年02月16日
    浏览(35)
  • Docker安装并使用Mysql(可用详细)

    1.默认拉取最新版本mysql 2.拉取指定版本mysql_5.7 1.指定版本 2.最新版本 3.命令含义:容器=完整Linux 查看进程 关闭docker中mysql容器 重启docker 关闭docker 自动重启容器 sudo docker update mysql --restart=always

    2024年01月23日
    浏览(40)
  • 安装Docker&使用Docker安装部署MySQL,Redis,RabbitMQ,Nacos,Seata,Minio

    sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine sudo yum remove -y yum-utils sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 如果这一步报错,说尝试其他镜像的话,执行下面步骤

    2024年02月05日
    浏览(49)
  • docker安装mysql 并使用navicat连接

    1、拉取最新的mysql: docker pull mysql:latest 2、配置端口映射以及密码启动docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql 3、进入docker中mysql控制台: docker exec -it mysql-test /bin/bash 说明:mysql-test(运行mysql容器的name,可以通过docker ps 命令查看) 4、mysql -u root -p 输入密

    2024年02月09日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包