Docker 安装部署与基础操作

编程入门 行业动态 更新时间:2024-10-22 22:56:52

Docker 是一个开源的商业产品,有两个版本:社区版(Community Edition,缩写为 CE)和企业版(Enterprise Edition,缩写为 EE)。企业版包含了一些收费服务,个人开发者一般用不到。下面的介绍都针对社区版。

01 Docker 安装

本次安装的操作系统是Ubuntu,并使用Docker仓库进行安装,其他系统的 Docker CE 的安装方式请参考 官方文档

使用Docker仓库进行安装时,在新主机上首次安装 Docker CE 之前,需要设置 Docker 仓库。之后,可以从仓库安装和更新 Docker 。

1.1 设置仓库

首先,更新 apt 包的索引

sudo apt-get update 

安装 apt 依赖包,用于通过HTTPS来获取仓库

 sudo apt-get install \apt-transport-https \ca-certificates \curl \gnupg \lsb-release

添加 Docker 的官方 GPG 密钥

curl -fsSL download.docker./linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

设置稳定版 Docker 仓库

echo \"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] download.docker./linux/ubuntu \$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

1.2 安装 Docker 引擎

更新 apt 包的索引

sudo apt-get update 

安装 Docker Engine-Community 和 containerd ,两种方法选其一即可

# 安装最新版本
sudo apt-get install docker-ce docker-ce-cli containerd.io
# 安装特定版本
sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io

测试 Docker 是否安装成功,可以通过查看docker版本或者运行测试demo验证

# 查看已安装docker版本
docker -v      
# 运行 hello-world 测试demo
sudo docker run hello-world

1.3 配置 Docker

Docker Engine V1.12 之后版本,用户可以自行创建 daemon.json 文件对 Docker Engine 进行配置和调整。要点如下:

该文件作为 Docker Engine 的配置管理文件, 里面几乎涵盖了所有 docker 命令行启动可以配置的参数。不管是在哪个平台以何种方式启动, Docker 默认都会来这里读取配置。使用户可以统一管理不同系统下的 docker daemon 配置。相关参数的使用说明,可以参阅 man dockerd 帮助信息,或者参阅官方文档。该--config-file选项允许您以JSON格式为守护程序设置任何配置选项。此文件使用与键相同的标志名称,但允许多个条目的标志除外,它使用多个标志名称,例如,labels用于label标志。

配置文件中设置的选项不得与通过flags设置的选项冲突。如果文件和标志之间的选项重复,则docker守护程序无法启动,无论其值如何。我们这样做是为了避免静默忽略配置重新加载中引入的更改。例如,如果在配置文件中设置守护程序标签并且还通过–label标志设置守护程序标签,则守护程序无法启动。守护程序启动时将忽略文件中不存在的选项。

Linux上配置文件的默认位置是 /etc/docker/daemon.json。该–config-file标志可用于指定非默认配置。如下示例为简单配置,详细配置项与含义请参考 官方配置文档

# graph 已废弃,使用data-root代替,这个主要看docker的版本
# "graph": "/data/docker", 
# Docker运行时使用的根路径,根路径下的内容稍后介绍,默认/var/lib/docker
"data-root": "/data/docker", 
# Docker Engine 在 Ubuntu 系统支持 overlay2、aufs、btrfs 三种存储驱动,默认使用 overlay2、
"storage-driver": "overlay2",
# 配置docker的私库地址
"insecure-registries": ["registry.aess.redhat.", "quay.io"],
# 镜像加速的地址,增加后在 docker info中可查看
"registry-mirrors": [],
# Docker 网络,Docker的IP地址配置最好和本地主机IP有映射关系,在出故障时方便找到宿主机,这里将主机地址的后两个数对应到IP网络地址的中间两位
"bip": "172.130.203.0/24",
# 启动Docker的额外参数
"exec-opts": ["native.cgroupdriver=systemd"],
# Docker 容器引擎被杀死时不影响运行在其中的容器运行情况
"live-restore": true

1.4 启动 Docker

先创建docker的数据目录

sudo mkdir -p /data/docker

Docker 需要用户具有 sudo 权限,为了避免每次命令都输入sudo,可以把用户加入 Docker 用户组

sudo usermod -aG docker $USER

启动docker

# 设置开机自启动
systemctl enable docker 
systemctl start docker
# 查看docker状态
docker info

02 Docker 镜像管理

2.1 Docker 拉取镜像的过程

首先服务器上运行Docker引擎本地服务器从Docker远程镜像服务器下载镜像到本地本地服务器通过Docker引擎启动镜像的容器实例

2.2 配置镜像加速器

打开配置文件

sudo vim /etc/docker/daemon.json
# 在文件中插入如下内容
{"registry-mirrors": ["rsbud4vc.mirror.aliyuncs.","registry.docker-.","docker.mirrors.ustc.edu.","hub-mirror.c.163."]
}

重载配置并重新启动Docker

systemctl daemon-reload 
systemctl restart docker

2.3 镜像保存与加载

Docker 管理镜像和管理容器的两组命令的特点:

docker save 保存的是镜像(image),docker export 保存的是容器(container);docker load 用来载入镜像包,docker import 用来载入容器包,但两者都会恢复为镜像;docker load 不能对载入的镜像重命名,而 docker import 可以为镜像指定新名称。

保存镜像与加载镜像

# 保存镜像,将镜像打包
docker save spring-boot-docker  -o  /home/wang/docker/spring-boot-docker.tar
# 加载镜像,解压镜像
docker load -i spring-boot-docker.tar

2.4 镜像管理命令

查看镜像列表

docker images

删除镜像

docker rmi -f centos

03 Docker 应用部署

3.1 启动容器

如果docker中没有需要的镜像,使用 docker pull 命令来载入所需镜像

docker pull nginx

使用 run 命令使用镜像启动一个容器

docker run -d -p 80:80 nginx
# 查看端口是否启动成功
netstat -antup | grep 80

run 命令参数说明:

-d 后台运行-p 8080:80 端口映射,将容器的80端口映射到物理机的8080端口

3.2 访问容器

正在运行的容器可以使用 exec 命令对其进行访问,访问容器需要指定其 Id 或者名称

(base) ➜  ~ docker ps 
(base) ➜  ~ docker exec -it d5e7b813dcb7 /bin/bash  
root@d5e7b813dcb7:/# 

exec 参数说明:

-i 交互式操作-t 分配一个伪终端container id / container name 指定要访问的容器 id 或者 名称/bin/bash 交互式shell,该参数也可以是 /bin/sh 或者 sh

退出容器 直接执行 exit

3.3 停止容器

停止一个容器的运行可以使用如下命令:

docker stop <container ID>

启动已停止的容器使用如下命令:

# 使用如下命令查看所有容器状态
docker ps -a
# 使用如下命令启动已停止的容器
docker start <container ID>
# 或者
docker restart <container ID>

参考资料

官方文档 在Ubuntu上安装Docker
Docker 入门教程
菜鸟教程 Docker教程
Docker配置文件daemon.json解析

更多推荐

操作,基础,Docker

本文发布于:2023-05-29 23:11:08,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/355112.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:操作   基础   Docker

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!