当前位置:   article > 正文

Docker安装及使用_网易蜂巢镜像中心

网易蜂巢镜像中心

一、什么是Docker

docker帮助文档:https://docs.docker.com/engine/reference/commandline/build/
网易蜂巢镜像中心:https://c.163yun.com/hub#/home

docker是一个用来装应用的容器,就像杯子可以装水,笔筒可以放笔,书包可以放书,可以把hello word放在docker中,可以把网站放入docker中,可以把任何想得到的程序放在docker中.

1.1 docker三要素

![在这里插入图片描述](https://img-blog.csdnimg.cn/819ebec006e746bfabdf741ba8f8c1bb.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBASF9wb3JyaWRnZQ==,size_20,color_FFFFFF,t_70,g_se,x_16)
  • 1
  • 镜像(image):
    docker镜像就好像一个模板,可以通过这个模板来创建容器服务,tomcat容器===>run==>tomcat01容器(提供服务),通过这个镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中)。
  • 容器(contianer):
    Docker利用容器技术,独立运行一个或者一个应用,通过镜像来创建的。
    启动、停止、删除、基本命令
    目前就可以把这个容器理解为一个linux系统。
  • 仓库(repository):
    仓库就是存放镜像的地方!
    仓库分为公有仓库和私有仓库!
    Docker Hub (默认是国外的)
    阿里云、网易云 都有容器服务器(配置镜像加速)

二、安装docker

卸载原有的docker

  	yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

表示卸载成功

安装工具包

yum install -y yum-utils
  • 1

在这里插入图片描述

设置镜像仓库(这里使用的是阿里云的镜像仓库)

yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  • 1
  • 2
  • 3

更新yum软件索引包:(这步也可省略)

yum makecache faster
  • 1

安装docker :

yum install docker-ce docker-ce-cli containerd.io
  • 1

表示安装成功

启动docker:

systemctl start docker
  • 1

使用 docker version 查看是否安装成功

docker version
  • 1

在这里插入图片描述
这样docker就安装成功了

三、docker常用的命令

3.1基本

3.1.1 启动docker

systemctl start docker
  • 1

3.1.2 停止docker:

systemctl stop docker
  • 1

3.1.3 重启docker:

systemctl restart docker
  • 1

3.1.4 查看docker状态:

systemctl status docker
  • 1

3.1.5 开机启动:

systemctl enable docker
  • 1

3.2帮助命令

3.2.1 显示版本的信息

docker version
  • 1

3.2.2 显示docker的系统信息 包括镜像和容器的数量

docker info
  • 1

3.2.3 万能命令

docker 命令 --help
  • 1

3.3镜像命令

3.3.1 查看本地主机上的所有镜像

docker images 	
docker images -a, --all 			   #列出所有镜像
docker images -q,--quit			   #只显示镜像的id
  • 1
  • 2
  • 3

在这里插入图片描述

  • 解释
    REOISIRORY #镜像的仓库源
    TAG #镜像的标签
    IMAGE ID #镜像的id
    CREATED #镜像的创建时间
    SIZE #镜像的大小

3.3.2 搜索镜像

docker search 镜像名
docker search 镜像名 --filter==stars=3000  #搜索出来的镜像是大于3000
  • 1
  • 2

3.3.3 下载镜像

docker pull 镜像名:版本号     #不加版本号默认为最新版本
  • 1

使用网易蜂巢镜像中心:https://c.163yun.com/hub#/home

3.3.4 删除镜像

#删除一个
docker rmi -f 镜像ID

#删除多个 其镜像ID或镜像用用空格隔开即可 
docker rmi -f 镜像ID 镜像ID 镜像ID

#删除全部镜像  -a 意思为显示全部, -q 意思为只显示ID
docker rmi -f $(docker images -aq)
#强制删除镜像
docker image rm 镜像ID
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

3.3.5 更改镜像名字

docker tag 镜像id 镜像名:版本号 
  • 1

3.3.6运行镜像

docker装在哪台服务器 那台服务器 就是其宿主机)8888 端口进行映射 那通过外部访问宿主机8888端口 即可访问到 docker 容器 6379 端口了

docker run [可选参数] image
docker run -d --name mysql01 -p 8888:3306 mysql:5.7.16 /bin/bash
#参数说明
/bin/bash       #交互路径
--name mysql01	#容器名字 可为 mysql01 mysql02
-d 				#后台方式运行
-it				#使用交互方式运行,进入容器查看内容
-p				#指定容器端口
-p ip:宿主机端口:容器端口
-p 宿主机端口:容器端口
-p 容器端口
-v    				#卷挂载
-e 				#环境配置
--restart=always
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

3.4容器命令

3.4.1运行容器

docker run -it centos /bin/bash
  • 1

3.4.2查看正在运行的容器:

docker ps -aq
参数 :
空		# 列出当前正在运行的容器
-a 		#列出当前正在运行的容器+历史运行过的容器
-n=? 	#显示最近创建的容器
-q		#只显示容器的编号
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

3.4.3进入容器

docker exec -it 容器名/容器ID /bin/bash
docker attach 容器名/容器ID
  • 1
  • 2
  • 区别:
    exec 进入容器开启一个新的终端,可以在里面操作。
    attach 进入容器正在执行的终端,不会启动新的进程 。

3.4. 4退出容器

exit
Ctrl + p + q
  • 1
  • 2

3.4. 5停止容器

docker stop 容器ID/容器名
  • 1

3.4.6重启容器

docker restart 容器id
  • 1

3.4.7启动容器

docker start 容器ID/容器名
  • 1

3.4.8强制停止当前容器

docker kill 容器ID/容器名
  • 1

3.4.9容器文件拷贝

#docker cp 容器ID/名称:文件路径  要拷贝到外部的路径   |     要拷贝到外部的路径  容器ID/名称:文件路径
#从容器内 拷出
docker cp 容器ID/名称: 容器内路径  容器外路径
#从外部 拷贝文件到容器内
docker  cp 容器外路径 容器ID/名称: 容器内路径
  • 1
  • 2
  • 3
  • 4
  • 5

3.4.10查看容器日志

docker logs -f -t --tail 条数 容器id
#-tf 显示日志
#--tail number # 要显示日志条数
  • 1
  • 2
  • 3

3.4.11查看容器中的进程信息

docker top 容器id
  • 1

3.4.12查看镜像的元数据

docker inspect 加容器id
  • 1

3.4.13更换容器名

docker rename 容器ID/容器名 新容器名
  • 1

3.4.14删除容器

docker rm 容器ID
  • 1

四、docker容器数据卷

  • 简介
    容器内的数据与外部宿主机文件绑定起来,类似一个双持久化,当容器删除时,宿主机文件数据目录仍在,下次启动容器只要将数据目录指向宿主机数据所在位置即可恢复!

4.1方式一:直接使用命令在挂载 -v

-v 宿主机文件存储位置:容器内文件位置
-v 宿主机文件存储位置:容器内文件位置 -v 宿主机文件存储位置:容器内文件位置 -v 宿主机文件存储位置:容器内文件位置
  • 1
  • 2

示例(docker启动mysql:)

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

4.2具名挂载和匿名挂载:

4.2.1匿名挂载:

-v 容器内路径
  • 1

4.2.2查看具体挂载:

docker volume ls
  • 1

4.2.3具名挂载:

-v 卷名:容器内路径
  • 1

4.2.4查看具体卷的路径

docker volume inspect 卷名
  • 1

4.2.5拓展:

-v 容器内路径:ro   rw   改变读写权限
ro  #readonly  只读
rw  #readwrite  可读可写
  • 1
  • 2
  • 3

五、DockerFile

  • 简介:
    就是用来构建docker镜像文件!就是脚本命令

构建步骤:

1.编写一个dockerfile文件
2.docker build 构建成为一个镜像
3.docker run 运行一个镜像
4.docker push 发布镜像(阿里云。dockerhub)
  • 1
  • 2
  • 3
  • 4

文件内容如下:

FROM centos
VOLUME ["volume01","volume02"]
CMD echo ".....end"
CMD /bin/bash
  • 1
  • 2
  • 3
  • 4

通过命令构建:

docker build -f 文件路径 -t abc/centos . 
  • 1

挂载:(–volumes-from)

在这里插入图片描述
DockerFIle命令:
在这里插入图片描述

FROM  		#基础镜像一切从这里开始
MAINTAINER	#镜像是谁写的,姓名加邮箱
RUN		#镜像构建时需要的命令
ADD		#步骤tomcat镜像,这个tomcat压缩包!添加内容
WORKDIR		#镜像工作目录
VOLUME		#挂载的位置
EXPOSE		#暴露端口
CMD		#指定这个容器启动时要运行的命令,只有最后一个会生效,可被替代
ENTRYPOINT	#指定这个容器启动时要运行的命令,可以追加
ONBUILD		#当构建一个被继承DockerFile,这个时候就会运行ONBUILD的指令,触发指令
COPY		#类似ADD,将命令拷贝到镜像当中 
ENV		#构建的时候设置环境变量
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

实战tomcat:
1.准备镜像文件,tomcat压缩包,jdk的压缩包!
2.编写dockerfile文件,官方命名:Dockerfile,build会自动寻找这个文件,就不需要-f指令
在这里插入图片描述
提交自己的镜像:

登录:https://hub.docker.com/
docker login -u h12345600
docker push 作者/镜像名

阿里云镜像:
1.找到容器镜像服务中心
2.创建命名空间
3.创建容器镜像

六、Docker网络

通过 --link 可以使容器间联通。

在这里插入图片描述
在这里插入图片描述
自定义网络:
在这里插入图片描述
在这里插入图片描述
自定义创建:

docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet
  • 1

可以通过 docker network ls 查看所有网络模式
通过–net mynet 连接到我们自己的网络上面去

网络连通:

docker network connect 容器名 网卡

在这里插入图片描述

实战创建三主三从redis

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/378222
推荐阅读
相关标签
  

闽ICP备14008679号