首页 > 编程语言 > CentOS8下的Docker使用详解
2020
11-06

CentOS8下的Docker使用详解

一、CentOS8下Docker的安装

curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo
yum install -y https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-1.2.6-3.3.fc30.x86_64.rpm
yum install -y docker-ce

二、CentOS8下Docker的启动与停止

启动命令
systemctl start docker
service docker start

关闭命令
systemctl stop docker
service docker stop

查看 Docker 状态
docker info

三、镜像加速器配置

1. 访问阿里云

https://www.aliyun.com/

2. 配置镜像加速地址

进入控制台

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

查看配置的镜像加速地址

docker info

查看Registry Mirrors:部分。

四、Docker的基本操作

基本操作

进阶操作

编排工具docker-compose的使用1

编排工具docker-compose的使用2

五、其他技巧

1. docker容器强杀

docker kill 容器 ID 或名称

2. 查看docker容器日志

docker logs -f -t container_name

3. 查看docker容器中运行了哪些进程

docker top container_name

4. 运行docker容器不自动退出然后进入容器

docker run -d -it 63bd2b510f17 /bin/bash
或者
docker run -id d70eaf7277ea # 有时不灵

docker exec -it 03d80e28c244 /bin/bash

注意,/bin/bash要放在最后。

5. 查看容器的配置信息

docker inspect 03d80e28c244

6. 容器与宿主机之间拷贝文件/目录

docker cp --help

Usage:	docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
	docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH

Copy files/folders between a container and the local filesystem

Use '-' as the source to read a tar archive from stdin
and extract it to a directory destination in a container.
Use '-' as the destination to stream a tar archive of a
container source to stdout.

Options:
 -a, --archive Archive mode (copy all uid/gid information)
 -L, --follow-link Always follow symbol link in SRC_PATH

六、IDEA中一键打包docker镜像

1. 修改 Docker 服务配置

vim /usr/lib/systemd/system/docker.service

找到如下内容

在这里插入图片描述

在上图红色标记的最后加入如下内容

-H unix:///var/run/docker.sock -H 0.0.0.0:2375

# -H unix:///var/run/docker.sock : 开启一个对外主机服务,使用 docker.sock 文件管理。
# -H 0.0.0.0:2375 : 允许什么客户端 IP 访问当前服务,当前服务对外暴露的端口号是什么。2375是自定义的端口。

systemctl daemon-reload
systemctl restart docker

2. POM文件中引入相应插件

<build>
 <plugins>
 <plugin>
 <groupId>com.spotify</groupId>
 <artifactId>docker-maven-plugin</artifactId>
 <version>1.2.2</version>
 <configuration>
 <imageName>projects/eureka:1.0</imageName> <!--指定镜像名称 仓库/镜像名:标签-->
 <baseImage>openjdk:latest</baseImage> <!--指定基础镜像-->
 <dockerHost>http://192.168.74.131:2375</dockerHost> <!-- 指定业务部署服务器仓库地址-->
 <entryPoint>["java","-jar","/${project.build.finalName}.jar"]</entryPoint> <!-- 容器启动执行的命令 -->
 <exposes>
 <expose>8761</expose><!-- 发布端口 -->
 </exposes>
 <resources>
 <resource>
 <targetPath>/</targetPath> <!-- 指定要复制的目录路径,这里是当前目录 -->
 <directory>${project.build.directory}</directory> <!-- 指定要复制的根目录,这里是 target 目录 -->
 <include>${project.build.finalName}.jar</include> <!-- 指定需要拷贝的文件,这里指最后生成的 jar 包 -->
 </resource>
 </resources>
 </configuration>
 </plugin>
 </plugins>
</build>

如果提示maven插件无法导入,可以修改maven的配置文件conf/settings.xml,新增如下内容:

<pluginGroups>
 <pluginGroup>com.spotify</pluginGroup>
</pluginGroups>

然后

在这里插入图片描述

注意在导入依赖时要先引入依赖包——先不要配置configuration标签。

3. 新增 IDEA 启动配置

在这里插入图片描述

或者

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

docker run -d -p 8761:8761 --name eureka01 image_name
docker logs -f container_name

七、将本地服务器的docker镜像推送到阿里云私有仓库中

1. 创建阿里云镜像仓库

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

2. 向镜像仓库push你的镜像

在这里插入图片描述

根据操作指南操作即可。

八、创建本地镜像仓库

1. 新建本地仓库

本地仓库也是一个docker容器

docker pull registry

vim /usr/lib/systemd/system/docker.service
========================================================================
找到 Service 节点,在 ExecStart 属性末尾增加新参数,值为:
--insecure-registry 192.168.74.131:5000

vim /etc/docker/daemon.json
=========================================================================
末尾新增配置内容:
{
"insecure-registries":["192.168.74.131:5000"]
}

systemctl daemon-reload
systemctl restart docker

docker run -p 5000:5000 -v /opt/registry:/var/lib/registry --name registry -d registry

192.168.74.131指代本地业务服务器地址。

2. 浏览器查看本地仓库

http://ip:5000/v2

3. push 镜像

# 为镜像改名
docker tag [ImageId] ip:5000/[镜像名称]:[镜像版本号]
docker push ip:5000/[镜像名称]:[镜像版本号]

在浏览器中查看 push 结果
http://ip:5000/v2/_catalog

4. pull 镜像

docker pull ip:5000/[镜像名称]:[镜像版本号]

到此这篇关于CentOS8下的Docker使用的文章就介绍到这了,更多相关CentOS8下Docker使用内容请搜索自学编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持自学编程网!

编程技巧