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使用内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • centos8使用Docker部署Django项目的详细教程

    引言 在本文中将介绍在Docker中通过django + uwsgi + nginx部署方式部署Django项目, 由于记录的是学习过程,使用的都是目前较高的版本. python  版本为3.8.3 django  版本为3.0.6 nginx   版本为1.17.10 好了简单的介绍之后,就进入正题了. 创建一个工作目录 创建一个工作目录用来存放项目,和Dockerfile等文件. mkdir uwsgidocker 简单说明一下各个文件 docker-compose.yml: Docker

  • CentOS8上用Docker部署开源项目Tcloud的教程

    一.安装Docker 1.我是虚拟机装的Centos7,linux 3.10 内核,docker官方说至少3.8以上,建议3.10以上(ubuntu下要linux内核3.8以上) root账户登录,查看内核版本如下 uname -a 2.把yum包更新到最新 yum update (期间要选择确认,输入 y 即可) 3.安装需要的软件包,yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的 yum install -y yum-utils

  • 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

  • CentOS 7.5下 安装Docker 教程 详解

    Docker简介 Docker是一个开源的容器引擎,它有助于更快地交付应用.Docker可将应用程序和基础设施层隔离,并且能将基础设施当作程序一样进行管理. 使用Docker可更快地打包.测试以及部署应用程序,并可以缩短从编写到部署运行代码的周期. Docker的优点如下: 1.简化程序 Docker让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,便可以实现虚拟化.Docker改变了虚拟化的方式,使开发者可以直接将自己的成果放入Docker中进行管

  • 内网环境下registry搭建步骤详解

    目录 背景 docker环境 配置http可访问 重新加载docker 启动registry 启动registry-web 背景 在实际的开发运维过程中,经常需要使用镜像仓库的情况,虽然阿里云.腾讯云等都提供了带有免费额度的镜像仓库服务,但是由于账号等问题,我们还是需要自己搭建一个镜像仓库服务,供内网环境下使用. 大致的步骤: 准备docker环境 配置非http访问( Insecure Registries) 重新家在docker 启动registry 启动registry-web docke

  • Redis 对比 Memcached 并在 CentOS 下进行安装配置详解

    Redis 是一个开源.支持网络.基于内存.键值对的 Key-Value 数据库,本篇文章主要介绍了Redis 对比 Memcached 并在 CentOS 下进行安装配置详解,有兴趣的可以了解一下. 了解一下 Redis Redis 是一个开源.支持网络.基于内存.键值对的 Key-Value 数据库,使用 ANSI C 编写,并提供多种语言的 API ,它几乎没有上手难度,只需要几分钟我们就能完成安装工作,并让它开始与应用程序顺畅协作.换句话来说,只需投入一小部分时间与精力,大家就能获得立竿

  • 微信小程序本作用域下调用全局JS详解及实例

    微信小程序本作用域下调用全局JS详解 本地wxml文件 <view> app版本:{{version}} </view> 本地js文件 var app; Page({ data:{ }, onLoad:function() { app = getApp(); this.setData({version:app.globalData.appName}); } }) 全局js文件 //app.js App({ globalData:{ appName:"hcoder"

  • Linux 下sudo网络权限详解

    Linux 下sudo网络权限详解 对于设置了网络代理的服务器,在当前用户下执行网络访问没有问题,但通过sudo执行命令时,就会出现"无网络连接"的错误. 背景 对于设置了网络代理的服务器,在当前用户下执行网络访问没有问题,但通过sudo执行命令时,就会出现"无网络连接"的错误. 普通权限下,wget成功. # wget https://github.com --2016-12-08 09:00:43-- https://github.com/ Connecting

  • linux 下的yum命令详解

    yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载.安装.yum提供了查找.安装.删除某一个.一组甚至全部软件包的命令,而且命令简洁而又好记. yum的命令形式一般是如下:yum [options] [command] [package ...] 其中的[opt

  • SpringMVC下获取验证码实例详解

    SpringMVC下获取验证码实例详解 前言: 1.用户一开始登录的时候, 不建议出现验证码, 这一点在很多网站上已经体现的很好了, 只有当用户连续输错三次或者以上才会要求用户输入验证码. 2.记录用户输错次数最好不要使用 session 来记录, 因为 session 是跟客户端浏览器会话有关的, 如果用重启浏览器或者换新的浏览器再来登录或者试错, 就是新的回话了, 原来记录的错误次数就失效了. 建议此处采用缓存机制来实现, 简单处理就是采用 Map<用户登录id, 错误次数> 来实现, 如

  • mysql 5.7 zip 文件在 windows下的安装教程详解

    1.下载mysql最新版本. http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.15-winx64.zip 2.解压到文件夹. D:\software\mysql\mysql5.7a 将my-default.ini 复制为 my.ini 3.编辑my.ini # These are commonly set, remove the # and set as required. basedir ="D:/software/mysql/mysql

  • yii2带搜索功能的下拉框实例详解

    简单的小功能,但是用起来还是蛮爽的.分享出来让更多的人有更快的开发效率,开开心心快乐编程. 如果你还没有使用过composer,你可就out了,看我的教程分享,composer简直就是必备神奇有木有.都说到这个点上了,我们赶紧使用composer进行安装吧. 先给大家展示下效果图: 下面给大家说下具体实现思路: composer require kartik-v/yii2-widget-select2 "@dev" #特别说明,因为这里安装的dev版本,也就是开发版本,不稳定版本,如果

随机推荐