设为首页 加入收藏

TOP

docker学习(一)
2023-07-23 13:33:34 】 浏览:128
Tags:docker 学习

Docker概述

真实项目部署环境可能非常复杂,传统发布项目一个只需要一个jar包,运行环境需要单独部署。而通过Docker可将jar包和相关环境(如jdk,redis,Hadoop...)等打包到docker镜像里,将镜像发布到Docker仓库,部署时下载发布的镜像,直接运行发布的镜像即可。Docker容器使用沙箱机制,通过隔离机制,使每个发布的应用之间互相隔离,相互之间不会有任何接口。
优点:隔离,镜像轻巧,秒级启动。

文档地址:https://docs.docker.com/
仓库地址:https://hub.docker.com/

  • Docker基本组成:

    1.镜像(image):类似于一个模板,通过这个模板来创建容器服务,如tomcat镜像=》run命令运行镜像=》创建tomcat容器
    2.容器(container):Docker利用容器技术,可独立运行一个或一组应用,是通过镜像来创建的。可以执行启动,停止,删除等命令。暂时可将容器理解为一个简易的linux系统。
    3.仓库(repository):存放镜像的地方,分为共有仓库(如Docker hub)和私有仓库。

Docker安装

根据帮助文档:

#1.卸载旧版本
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
#2.安装包
sudo yum install -y yum-utils

#3.设置镜像仓库
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo #默认国外的,非常慢

sudo yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo #推荐阿里云

#4.更新软件包索引
yum makecache fast

#4.安装Docker引擎 (docker-ce:社区版)
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

#5.启动Docker
sudo systemctl start docker

#docker version查看是否安装成功

#6.测试helloword
sudo docker run hello-world

#7.查看下载的hello-world镜像
docker images

#8.卸载docker
#移除Docker引擎
sudo yum remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras

#移除镜像
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

阿里云镜像加速

  • 进入阿里云官网的容器镜像服务,找到镜像加速地址

  • 配置使用

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

Docker run的流程

Docker如何工作的?
Docker是一个CS结构的系统,Docker的守护进程运行在主机上,DockerServer接收到DockerClient的指令执行。

Docker命令

官方文档:https://docs.docker.com/engine/reference/commandline/build/

docker version #显示版本信息
docker info #docker更加详细的信息
docker 命令 --help #帮助命令

  • 镜像命令

docker images #查看所有镜像

解释

  • Repostory #镜像仓库源
  • TAG #镜像标签
  • IMAGE_ID #镜像id

可选项(可通过docker images --help查看)

-a, --all Show all images (default hides intermediate images)
-q, --quiet Only show image IDs

docker search搜索镜像

可选项

  • 通过收藏数过滤

docker pull下载镜像 镜像名[:tag]

[root@cchuang cchuang]# docker pull mysql
Using default tag: latest  #如果不写tag,默认最新版
latest: Pulling from library/mysql
72a69066d2fe: Pull complete    #分层下载 
93619dbc5b36: Pull complete 
99da31dd6142: Pull complete 
626033c43d70: Pull complete 
37d5d7efb64e: Pull complete 
ac563158d721: Pull complete 
d2ba16033dad: Pull complete 
688ba7d5c01a: Pull complete 
00e060b6d11d: Pull complete 
1c04857f594f: Pull complete 
4d7cfa90e6ea: Pull complete 
e0431212d27d: Pull complete 
Digest: sha256:e9027fe4d91c0153429607251656806cc784e914937271037f7738bd5b8e7709
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest  #真实地址

#指定版本下载
[root@cchuang cchuang]# docker pull mysql:5.7
5.7: Pulling from library/mysql
72a69066d2fe: Already exists 
93619dbc5b36: Already exists 
99da31dd6142: Already exists 
626033c43d70: Already exists 
37d5d7efb64e: Already exists 
ac563158d721: Already exists 
d2ba16033dad: Already exists 
0ceb82207cd7: Pull
首页 上一页 1 2 3 4 5 6 7 下一页 尾页 1/11/11
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇1.Linux系列教程介绍 下一篇centos9 redis安装报错(实在无解..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目