Docker(mac)

前提


 docker是开源的,所以可以在github上找到源码

学习视频:https://www.bilibili.com/video/BV1og4y1q7M4?p=5&spm_id_from=pageDriver

学习视频:https://www.bilibili.com/video/BV1og4y1q7M4?spm_id_from=333.337.search-card.all.click

学习视频:https://www.bilibili.com/video/BV1UZ4y1h7Wg?p=8

菜鸟链接:https://www.runoob.com/docker/docker-container-usage.html

 

第一:安装


 1.1.mac官网下载docker:https://www.docker.com/products/docker-desktop/

-根据自己的电脑芯片选择下载哪一个(点中“苹果logo”->"about this mac")

 -安装过程比较简单,直接下一步就可

- docker中的工具

-查看docker版本(mac terminal)命令:docker --version, docker version

1.2.官网使用手册:https://docs.docker.com/desktop/mac/ (超级详细,基本不用其他文档)

1.3.docker的架构和底层技术

- docker platform

  

- docker engine

  

- docker architecture

    

  

*镜像(image): docker镜像就好比是一个模板,可以通过这个模板来创建容器服务,tomcat镜像===>run===>tomcat01容器(提供服务器), 通过这个镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中的)

*容器(container):Docker利用容器技术,独立运行一个或者一个组应用,通过镜像来创建的

启动,停止,删除,基本全集

目前就可以把这个容器理解为就是一个简易的linux系统

*仓库(repository): 仓库就是存放镜像的地方

仓库分为公有仓库和私有仓库

Docker Hub(默认是国外的)

阿里云...都是容器服务器(配置镜像加速) 

-docer底层技术支持(要很强的Linux的基础才能完成的理解这个底层架构)

  *Namespaces:做隔离pid,net,ipc,mnt,uts

  *Control groups:做资源限制

  *Union file systems: Container和image的分层

1.4.docker image

-什么是Image

1.5.第一种方法:Docker配置mysql(遇到问题请参考第7小点)

1.5.1

  

  

1.6. 第二种方法:Docker配置mysql(遇到问题请参考第7小点)-->Sara:本人用此方法
复制代码
2023年补充:如果1)->5)可以汇总为如下:
参考链接:https://www.cnblogs.com/qq931399960/p/11527222.html 1、下载mysql镜像,这里下载5.7.34版本 mac 总端:docker pull mysql:5.7.34 2、启动一个mysql容器 docker run --name db001
-d -it --platform linux/amd64 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=12345 -d mysql:5.7.34
3、启动第二个mysql容器
docker run --name db002 -d -it --platform linux/amd64 -p 3307:3306 -e MYSQL_ROOT_PASSWORD=12345 -d mysql:5.7.34
4、查看mysql容器启动情况 mac 总端:docker ps 上述映射到mysql容器的端口均为3306,每个容器都有一个小型的linux系统
复制代码
链接中可以获取mysql的tag版本(官方镜像):docker pull mysql:5.7.34
2). terminal中输入如下命令(拉取官方镜像):docker pull mysql:5.7.34
成功拉取
3). 查看docker配置好的mysql,或者cmd中如下命令:docker images
命令:docker images

 4). 一般来说数据库容器不需要建立目录映射

terminal中输入如下命令:

windows:
docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7.34
max:
docker run --name mysql -d -it --platform linux/amd64 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7.34
 
–name:容器名,此处命名为mysql
-e:配置信息,此处配置mysql的root用户的登陆密码
-p:端口映射,此处映射 主机3306端口 到 容器的3306端口
-d:后台运行容器,保证在退出终端后容器继续运行
5). navicat中配置mysql
 

1.7.配置mysql遇到的问题

1).pull mysql拉取不了

docker pull mysql:5.7.34 --platform linux/x86_64

 2)配置mysql商品与密码时遇到的问题:

docker run --name mysql -d -it --platform linux/amd64 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7.34 

1.8.docker命令

1). runoob@runoob:~$ docker ps
CONTAINER ID IMAGE COMMAND ...
5917eac21c36 ubuntu:15.10 "/bin/sh -c 'while t…" ...
CONTAINER ID: 容器 ID。
IMAGE: 使用的镜像。
COMMAND: 启动容器时运行的命令。
CREATED: 容器的创建时间。
STATUS: 容器状态。
PORTS: 容器的端口信息和使用的连接类型(tcp\udp)。
NAMES: 自动分配的容器名称。
2). runoob@runoob:~$ docker logs 2b1b7a428627
 
 

 

posted @   Sara软件测试  阅读(362)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示