首页 > 其他分享 >dockder 学习第一篇

dockder 学习第一篇

时间:2023-01-06 11:11:42浏览次数:47  
标签:容器 第一篇 dockder 学习 -- mysql docker root localhost

1 docker安装
1 yum包的更新到最新 
yum update 
2 安装需要软件包,yum-util
[root@localhost ~]# yum install  -y  yum-utils device-mapper-persistent-data lvm2
3 设置yum源
  
4 安装 docker
 yum install -y docker-ce
5  查看 docker版本 
 docker -v
 

2 docker 架构

镜像: docker 镜像,就相当于一个root 文件系统
容器:容器是镜像运行的实体,可以被创建,启动,停止,删除,暂停
仓库: 一个代码控制中心,用来包含镜像

3 配置docker镜像加速器s

https://5l16nu5f.mirror.aliyuncs.com
[root@localhost ~]# sudo mkdir -p /etc/docker
[root@localhost ~]# sudo tee /etc/docker/daemon.json <<-'EOF'
> {
>   "registry-mirrors": ["https://5l16nu5f.mirror.aliyuncs.com"]
> }
> EOF
{s
  "registry-mirrors": ["https://5l16nu5f.mirror.aliyuncs.com"]
}
国内官方的的docker数据源:
  
  {
  "registry-mirrors": ["https://registry.docker-cn.com"]
}
最佳数据源:
$ cat daemon.json
{
"registry-mirrors": [
"https://kfwkfulq.mirror.aliyuncs.com",
"https://2lqq34jg.mirror.aliyuncs.com",
"https://pee6w651.mirror.aliyuncs.com",
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com"
],
"dns": ["8.8.8.8","8.8.4.4"]
}

 
[root@localhost ~]# sudo systemctl daemon-reload
[root@localhost ~]# sudo systemctl restart docker
[root@localhost ~]# 

4 docker 命令

服务相关命令

启动docker[root@localhost ~]# systemctl start docker
停止docker: systemctl stop docker
重启docker: systemctl restart docker
[root@localhost ~]# systemctl status docker
开机启动docker服务:systemctl enable docker

镜像相关明细

查看镜像
[root@localhost ~]# docker images -q
REPOS
ITORY   TAG       IMAGE ID   CREATED   SIZE
搜索镜像:
[root@localhost ~]# docker search redis

如果出现:错误Error response from daemon: Get https://index.docker.io/v1/search?q=mysql&n=25: x509: certificate has expired or is not yet valid
  原因和解决方案: 是时间同步出现问题, 执行  # ntpdate cn.pool.ntp.org 即可
           

拉取镜像: docker pull redis                          docker pull redis:5.0
         
删除镜像:[root@localhost ~]# docker rmi 7614ae9453d1


docker 容器的相关的命令:

查看容器:docker ps -a

创建容器:docker run   -i 一直运行 -t 一个终端 --name=c1 masql:6.0 /bin/bash
-
进入容器:docker exec -it  c2(名字) /bin/bash
启动容器:docker start  kangou
停止容器  docker stop kangou
删除容器:docker rm 
    
查看容器配置:docker inspect kangou

5 docker 容器的数据卷

数据卷的作用: 容器的数据持久化; 外部机器和荣期间通信,容器间数据交换

5.1 配置数据卷

创建启动容器时,使用-v参数,设置数据券
docker run  -it  --name:kanogu -v .... -v 宿主机目录:容器内目录文件
举例:
 docker run  -it  --name=kangou -v /root/docker_data:/root/container_data  redis:5.0 /bin/bas
#一个容器可以挂载两个目录(多个目录)
# 容器删除后,可以重新挂载
# 两个容器同时挂载同一目录,实现两个容器的通信

数据卷容器

多容器挂载同一个数据卷
数据卷容器:
容器数据券:
[root@localhost ~]# docker run -it  --name=kanogu3  -v dockerdata redis:5.0  /bin/bash
docker run -it  --name=kanogu2  --volumes-from kangou3  redis:5.0  /bin/bash

docker run -it  --name=kanogu1  --volumes-from kangou3  redis:5.0  /bin/bash

增加内容odoo容器:

16 
拉取数据库和odoo
docker pull odoo:16.0
docker pull postgres:15.0


docker run -d -p 5482:5432  -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=2022test -e POSTGRES_DB=postgres --name odoo16_db postgres:15.0

--name:容器名
 
--p:映射宿主主机端口
 
-v:挂载宿主目录到容器目录
 
-e:设置环境变量,此处指定root密码
 
-d:后台运行容器

253edf7672f08d7f1acd1a0b37f90cafd952437fbfe271e30b97e59de559d907
[root@localhost ~]# docker run -d -p 8082:8069 --name odoo16_app --link odoo16_db:db -t odoo:16.0
8387fc07da051052adedeef85dfc177ea19de0dbcc6584ca4e826c83f485597f
odoo16 密码:z2au-ykcx-hv3f
odoo15 密码:eqt5-w9at-ts39
odoo14:
odoo13
[root@localhost ~]# docker run -d -p 5483:5432  -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=2022test -e POSTGRES_DB=postgres --name 
odoo14_db postgres:15.0a956bd676bae5a0867feade3bef7e881940296b692c7cd1bb21fce4db9597117
[root@localhost ~]# docker run -d -p 8084:8069 --name odoo14_app --link odoo14_db:db -t odoo:14.0


修改容器接口:

1 首先关闭 docker 服务
 [root@localhost ~]# systemctl stop docker
2  关闭之后,找到容器的配置文件路径 通常都是安装在这个路径下方
[root@localhost ~]# cd  /var/lib/docker/
[root@localhost docker]# ls
[root@localhost docker]# cd containers
[root@localhost containers]# ls
[root@localhost containers]# cd db8cdcf971e36b795c0af31f706b6e2115359b31bd83619711acbf74b666e5f5
 vi hostconfig.json
 3重启 docker
 systemctl start docker
 4 启动相关容器

[root@localhost bbaf3786edb3038530bddac79ad806fb848da29450706e8a8c335d693d0dd187]# docker start  8387fc07da05

:利用docker commit新构镜像
docker commit:把一个容器的文件改动和配置信息commit到一个新的镜像。这个在测试的时候会非常有用,把容器所有的文件改动和配置信息导入成一个新的docker镜像,然后用这个新的镜像重起一个容器,这对之前的容器不会有任何影响。

停止docker容器

docker stop container01
1
commit该docker容器

docker commit container01 new_image:tag
1
用前一步新生成的镜像重新起一个容器

docker run --name container02 -p 80:80 new_image:tag
1
优缺点:这种方式的优点是不会影响统一宿主机上的其他容器,缺点是管理起来显得比较乱,没有第二种方法那么直观

6 docker 应用部署

需要端口映射

mysql

1 搜索mysql 镜像[root@localhost ~]# docker search mysql

2 拉取mysql 镜像:docker pull mysql :5.6

3  创建容器 设置端口映射,目录映射
mdk
 [root@localhost mysql]# docker run -id  -p 3306:3306  --name=c_mysql  -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v 
  $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6



4 操作容器
# 进入mysql 容器:[root@localhost mysql]# docker exec -it c_mysql  /bin/bash

标签:容器,第一篇,dockder,学习,--,mysql,docker,root,localhost
From: https://www.cnblogs.com/pushuiyu/p/17029852.html

相关文章

  • 学习-图论
    概念置换环以下内容来自ChatGpt:置换环是一个置换的一部分,其中包含一个或多个点的映射。每个点都映射到了另一个点,而最后一个点又映射回了第一个点。因此,置换环可以被看......
  • 奇哥 借代!究竟是啥手法?和借喻有啥区别?学习笔记
    明喻暗喻借喻的定义1、本体(被比喻的事物)和喻体(用来作比喻的事务)之间用“像”“好像”“仿佛”“如同”“。。。似的”等比喻词连接,是明喻2、本体和喻体之间用:“是”......
  • 数据结构:ST表 学习笔记
    ST表RMQ问题RMQ是英文RangeMaximum/MinimumQuery的缩写,表示区间最大(最小)值。ST表是用于解决离线RMQ问题的一种线性数据结构,在全国青少年信息学奥林匹克系列竞......
  • 奇哥词类活用学习笔记
    核心技巧:1.句子中缺成分+句子中多成分2.多的成分活用作缺的成分主谓宾主:动作发出者谓:动作本身宾:动作接受者定语:修饰主语&宾语状语:修饰谓语例:疯狂的(定语)杨佳奇(主......
  • 奇哥小说大题学习笔记
    小说作用题对人物·烘托人物形象、性格、心理(环境对人物)塑造人物形象、性格、心理(情节对人物)·突出(对比、类比、衬托)人物形象、性格、心理(次要人物对主要人物)......
  • 机器学习 吴恩达 第二章 笔记
    2.单变量线性回归(LinearRegressionwithOneVariable)  文字部分来自这位大佬的字幕合集2.1模型表示  我们的第一个学习算法是线性回归算法.在这段视频中,你会......
  • 日语学习Day01——五十音(上)
    日语第一节五十音(上)五十音图与元音五个元音aiueo对应的平假名あいうえお对应的读音https://d27hu3tsvatwlt.c......
  • jconsole的简单学习
    摘要jconsole是JDK自带的一款图形化监测工具他可以监测本地程序,也可以检测远程的机器在没有其他监控手段可以使用的情况下可以快速进行必要的监测使用方法也比较简单......
  • IT编程相关内容汇总 - 进阶者系列 - 学习者系列文章
    笔者工作了十多年了,对于技术也有一定的经验,但是IT编程技术的更新是挺快的,特别是各种框架,各种中间件啥的都涌现出来了。这篇博文笔者打算将IT编程的前端、后端、数据库......
  • go语言学习教程
    go语言学习教程集合了连接goroutine、go连接redis、go连接kafka等示例https://github.com/fastbpmn/go-studyTRANSLATEwithxEnglishArabicHebrewPol......