博客 [Docker精进篇] 详细配置和部署镜像(一)

[Docker精进篇] 详细配置和部署镜像(一)

   数栈君   发表于 2023-09-11 10:19  178  0

一. 认识Docker

Docker架构:分为三部分,客户端,Docker服务端,仓库。
http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/2a3e332eba6cfd91f45b3446223e3cbd..jpg
  

1️⃣docker服务端

Docker服务端 又称为Docker主机,Docker引擎,Docker守护进程。
依托于宿主机,守护进程,用于管理镜像,容器,执行客户端命令等。


2️⃣docker客户端

我们使用的就是客户端,通过客户端命令和Docker引擎进行交互

3️⃣docker仓库

Docker有两个重要的概念镜像和容器。镜像可以理解为就是软件安装包,容器就是软件安装完成后可运行的状态。
Docker推出了Registry这个概念,一般有人也称为是 注册中心,当我们需要发布Docker镜像(Docker专用软件安装包)的时候,就需要将镜像发布到注册中心上,这样其他人就可以下载使用。


二. 使用Docker

1️⃣卸载旧的

一般是在虚拟机下,本文使用的是虚拟机centos7下安装操作docker

首先卸载掉 虚拟机上面原有的docker相关内容

sudo yum remove docker \
                                    docker-client \
                                    docker-client-latest \
                                    docker-common \
                                    docker-latest \
                                    docker-latest-logrotate \
                                    docker-logrotate \
                                    docker-engine

2️⃣安装 yum-utils

sudo yum install -y yum-utils

3️⃣添加阿里云镜像:

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

4️⃣安装

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

5️⃣启动并加入开机启动

sudo systemctl start docker

sudo systemctl enable docker


到这里就安装完毕了!!


三. 镜像操作

1️⃣启动docker:

systemctl start docker 启动
systemctl stop docker 关闭

2️⃣查看本机docker镜像:

docker images


http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/09ca9860afd157792b64d0bb656da512..png
  

没有的话,可以执行下面的操作,从dockerhub上搜索自己想要的docker镜像:

如果需要下载镜像,但是又不知道docker有没有,可以通过搜索镜像命令进行查看。
docker search 镜像名称


这里以mysql为例 :

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/04d4d855462503edc67ab23f3e094360..png
  
NAME:镜像名称
DESCRIPTION:镜像描述
STARS:用户评价,反映一个镜像的受欢迎程度
OFFICIAL:是否为官方构建
AUTOMATED:自动构建,表示该镜像由 Docker Hub 自动构建流程创建的。

3️⃣拉取镜像

拉取镜像就是从中央仓库下载镜像到本地。

docker pull 镜像名称:版本号


如果不声明版本,默认拉取latest版本。

4️⃣镜像仓库加速

这里我们使用阿里云镜像 配置阿里云镜像

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/ad9ea16602453ec4f25f3d03d9a586cf..png
  
http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/5ddb06e1539ea87ee2b21ccd935098cd..png
  
直接复制使用阿里给的命令即可
http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/c4bd46628e6d48402e1957c1f7aa3acd..png
  

5️⃣删除镜像

三种方式都可以

ocker rmi 镜像id
docker rmi 镜像名称
docker rmi 镜像名称:tag


6️⃣查看正在运行的容器

docker ps


7️⃣查看所有的容器

docker ps -a


8️⃣容器启动命令

这里以mysql5.8启动为例子
-it 开启并且进入
-id 开启不进入 守护容器
-p 是端口映射 虚拟机端口:docker容器端口
-e 其他操作 这里是配置mysql的密码为root
后面跟上镜像和版本号 然后进行容器终端/bin/bash

docker run -it 或者 -id --name m_mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.7 /bin/bash


-i:表示运行容器;
-t:表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端;
–name:为创建的容器命名;
-v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个 -v 做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上;
-d:在 run 后面加上 -d 参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加 -i -t 两个参数,创建容器后就会自动进容器里);
-p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个 -p 做多个端口映射。
-P:随机使用宿主机的可用端口与容器内暴露的端口映射。

9️⃣停止与启动容器

# 停止容器
docker stop 容器名称|容器ID
# 启动容器
docker start 容器名称|容器ID






免责申明:


本文系转载,版权归原作者所有,如若侵权请联系我们进行删除!

《数据治理行业实践白皮书》下载地址:https://fs80.cn/4w2atu

《数栈V6.0产品白皮书》下载地址:
https://fs80.cn/cw0iw1

想了解或咨询更多有关袋鼠云大数据产品、行业解决方案、客户案例的朋友,浏览袋鼠云官网:
https://www.dtstack.com/?src=bbs

同时,欢迎对大数据开源项目有兴趣的同学加入「袋鼠云开源框架钉钉技术群」,交流最新开源技术信息,群号码:30537511,项目地址:
https://github.com/DTStack

0条评论
社区公告
  • 大数据领域最专业的产品&技术交流社区,专注于探讨与分享大数据领域有趣又火热的信息,专业又专注的数据人园地

最新活动更多
微信扫码获取数字化转型资料
钉钉扫码加入技术交流群