GVKun编程网logo

Centos 7.9 安装 Docker(centos 7.9 安装向日葵)

1

如果您对Centos7.9安装Docker和centos7.9安装向日葵感兴趣,那么这篇文章一定是您不可错过的。我们将详细讲解Centos7.9安装Docker的各种细节,并对centos7.9安装向

如果您对Centos 7.9 安装 Dockercentos 7.9 安装向日葵感兴趣,那么这篇文章一定是您不可错过的。我们将详细讲解Centos 7.9 安装 Docker的各种细节,并对centos 7.9 安装向日葵进行深入的分析,此外还有关于.NETCore 添加 Docker 支持,并上传镜像至 Docker Hub,最后在 CentOs 中拉取镜像运行、167 docker docker构建nginx容器系列问题 docker registry docker run docker toolbo、centos 7 安装 Docker Engine-CentOS 社区版、centos 7 安装 docker win10 系统用 maven 构建镜像并推送到 docker 私有仓库的实用技巧。

本文目录一览:

Centos 7.9 安装 Docker(centos 7.9 安装向日葵)

Centos 7.9 安装 Docker(centos 7.9 安装向日葵)

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app), 更重要的是容器性能开销极低。

Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版)

官方网站地址:https://www.docker.com/

Docker Hub:https://hub.docker.com/  (此地址必须注册登录才可以访问)

下面开始安装 Docker:

安装环境:青云云服务器,Centos7.9。

整个安装过程是通过命令行执行的,需要先通过 SecureCRT 联接到服务器,并通过 root 用户登录。

1、删除原有的 Docker 安装文件:

yum remove docker*

因为使用一台新的青云服务器,所有未找到任何 Docker 相关的文件,直接成功了

2、安装 yum-utils

yum install -y yum-utils

打出 Complete!表示完成

3、配置 docker 安装源

yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

4、执行安装 Docker

安装最新版本

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

如果想安装指定版本执行一下命令,把 <VERSION_STRING> 替换成具体版本即可:

yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io

打出 Complete!表示完成。中间过程需要输入两次 y 才可以继续执行。

5、启动 Docker,并设置成开机启动。

systemctl enable docker --now

6、验证是否安装成功

docker info

输入以下信息表示安装成功!

 

安装过程碰到其它的问题可以参照官方安装文档:https://docs.docker.com/engine/install/centos/

.NETCore 添加 Docker 支持,并上传镜像至 Docker Hub,最后在 CentOs 中拉取镜像运行

.NETCore 添加 Docker 支持,并上传镜像至 Docker Hub,最后在 CentOs 中拉取镜像运行

.NET Core 项目中使用 Docker 生成镜像,上传到 Docker Hub 中后,可在任意一台 CentOs 系统中拉取镜像直接运行.NET Core

 

第一步:下载安装 Docker for Windows


 下载地址:https://oomake.com/download/docker-windows

 

需要优先启用虚拟化:(在 Bios 中开启)

 

开始后在任务管理器中查看:

 打开 Docker Desktop。

 

第二步:配置 Docker


 

申请 Docker Hub 账号,并登陆。申请地址:https://hub.docker.com/signup?next=%2F%3Futm_source%3Ddocker4win_2.0.0.3

 

设置共享驱动:(C 盘必须勾上,同时需要勾上项目的所在目录)

 

可以在阿里云中免费申请一个镜像加速器:

基础设置完成,打开命令窗口验证。

 

第三步:VS 新建项目,生成镜像


 

不勾选 “启用 Docker 支持”,后面手动添加配置文件 

 

手动添加 Dockerfile 文件 (可添加记事本后删除后缀),并添加左侧配置(注意修改 dll 文件名)

# 添加基础镜像:docker会从网络下载这个镜像
FROM microsoft/dotnet:2.1-aspnetcore-runtime
#容器中系统的工作空间
WORKDIR /app
#拷贝当前文件夹下的文件到容器中系统的工作空间(注意:“.”后面有空格)
COPY . /app
 
#设置Docker容器对外暴露的端口
EXPOSE 80
#容器中使用 ["dotnet","系统启动的dll"] 来运行应用程序
ENTRYPOINT ["dotnet", "MyDocker.dll"]

 

设置 Dockerfile 文件的属性

 

进入项目文件夹,发布项目

 

切换至发布目录下,通过命令生成镜像 (注意命令后面有个 空格 和 .)

docker build -t mydocker:v1 .

 

 

新打开一个命令窗口,查看刚刚生成的镜像

 

第四步:上传镜像至 Docker Hub


 

登陆 Docker Hub,创建一个镜像仓库

 

 

使用 tag 标记本地镜像,将其上传到刚刚新建的仓库中。

docker tag mydocker:v1 ghostdao/docker1:v1
docker push ghostdao/docker1:v1

 

上传成功,在 Docker Hub  Tags 标签页中可以看到

 

第五步:在 CentOs 系统中安装 Docker


 

参考:https://www.cnblogs.com/yufeng218/p/8370670.html 

 

第六步:拷贝 VS 发布的文件到 CentOs 中


 

使用 WinSCP 把整个发布目录 publish,发送到 CentOs 系统中的 mydocker 文件夹下

 

第七步:从 Docker Hub 中拉取镜像


 

进入 CentOs 系统,使用终端登陆 Docker Hub (这里是已经登陆过的)

 

开始拉取镜像,查看结果

docker pull ghostdao/docker1:v1

 

 

使用镜像 ghostdao/docker1:v1,以后台模式启动一个容器,将容器的 80 端口映射到主机的 8088 端口,主机的目录 /publish 映射到容器(成功后,容器状态显示为 Up)

docker run --name=mydocker_v1 -d -p 8088:80 -v /root/桌面/mydocker/publish:/app ghostdao/docker1:v1

 

 

访问服务器

http://192.168.1.174:8088/api/values


 

167 docker docker构建nginx容器系列问题 docker registry docker run docker toolbo

167 docker docker构建nginx容器系列问题 docker registry docker run docker toolbo

docker构建nginx容器系列问题


background : 最近为小伙伴们筹划docker系列的技术分享,研究了一会docker相关技术, 在此记录一下构建nginx容器时候的坑

1.nginx服务器根目录问题

docker 官方镜像提供的nginx基于debian/jessie平台,其文件结构和ubuntu中的nginx中并不相同

eg:

run一个niginx容器

<span>//80端口被占用,so...</span>
$ sudo docker run <span>-it</span><span>-p</span><span>800</span>:<span>800</span> nginx
$ sudo docker ps 

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                   NAMES
<span>1801</span>a32aab54        nginx               <span>"nginx -g ''daemon off"</span><span>2</span> minutes ago       Up <span>2</span> minutes        <span>80</span>/tcp, <span>443</span>/tcp, <span>0.0</span><span>.0</span><span>.0</span>:<span>800</span><span>-&gt;</span><span>800</span>/tcp   berserk_kare
登录后复制

进入容器内部

<span>$ </span>sudo docker exec -it <span>1801</span>a32aab54 /bin/bash
root<span>@1801a32aab54</span><span>:/</span><span># </span>
登录后复制

查看nginx目录

<span># cd /etc/nginx/</span>
conf<span>.d</span>/         koi-utf         mime<span>.types</span>      nginx<span>.conf</span>      uwsgi_params    
fastcgi_params  koi-win         modules/        scgi_params     win-utf  
登录后复制

可以看到不仅没有熟悉的 /sites-available,也没有 /sites-enabled

继续查看nginx配置

<span># cat /conf.d/default.conf</span><span>server</span> {
    listen       <span>80</span>;
    server_name  localhost;

    <span>#charset koi8-r;</span><span>#access_log  /var/log/nginx/log/host.access.log  main;</span>    location / {
        root   /usr/share/nginx/html;
        <span>index</span><span>index</span>.html <span>index</span>.htm;
    }

    <span>#error_page  404              /404.html;</span><span># redirect server error pages to the static page /50x.html</span><span>#</span>
    error_page   <span>500</span><span>502</span><span>503</span><span>504</span>  /<span>50</span>x.html;
    location = /<span>50</span>x.html {
        root   /usr/share/nginx/html;
    }
    <span>#...省略php-fpm配置,好长..</span>
}
登录后复制

根目录配置: root /usr/share/nginx/html;

测试

<span># cd /usr/share/nginx/html</span><span># touch index.html</span><span># echo "test nginx in docker" &gt;index.html</span>
登录后复制

php-fpm配置相关

'').addClass(''pre-numbering'').hide(); $(this).addClass(''has-numbering'').parent().append($numbering); for (i = 1; i '').text(i)); }; $numbering.fadeIn(1700); }); });

以上就介绍了167 docker docker构建nginx容器系列问题,包括了docker,nginx方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

centos 7 安装 Docker Engine-CentOS 社区版

centos 7 安装 Docker Engine-CentOS 社区版

获取 Docker Engine-CentOS 社区: https://docs.docker.com/install/linux/docker-ce/centos/

 

1. 操作系统要求

1.1 要安装 Docker Engine-Community , 您需要一个 CentOS 7 的维护版本。不支持或未测试存档版本.

1.2 该 centos-extras 库必须启用。默认情况下,此存储库是启用的,但是如果已禁用它,则需要 重新启用它.

1.3 overlay2 建议使用存储驱动程序.

< centos-extras >
CentOS Extras-在 CentOS 5 6 中,为CentOS提供附加功能而不破坏上游兼容性或更新基本组件的软件包,但未经上游测试或上游产品中没有提供. CentOS 7 中,这是一个上游存储库,以及其他CentOS软件包.CentOS 开发团队已经测试了该存储库中的每个项目,并且它们都与 CentOS 一起使用. 该存储库随CentOS一起提供,并且默认情况下处于启用状态.

 

------------------------------------------------------------------------------------------
开启 CentOS Extra
路径 /etc/yum.repos.d
文件 CentOS-Base.repo
[extras] //extras 模块
enabled=0 //编辑把 "0" 修改为 "1" ,没有enabled=0或1,建议添加 enabled=1 启动 extras 软件模块仓库
#软件仓库被配置成 enabled=0 时,yum 在安装或升级软件包时不会将该仓库做为软件包提供源.
------------------------------------------------------------------------------------------

 

[root@localhost yum.repos.d]# (cat -n CentOS-Base.repo;pwd)
     1  # CentOS-Base.repo
     2  #
     3  # The mirror system uses the connecting IP address of the client and the
     4  # update status of each mirror to pick mirrors that are updated to and
     5  # geographically close to the client.  You should use this for CentOS updates
     6  # unless you are manually picking other mirrors.
     7  #
     8  # If the mirrorlist= does not work for you, as a fall back you can try the 
     9  # remarked out baseurl= line instead.
    10  #
    11  #
    12
    13  [base]
    14  name=CentOS-$releasever - Base
    15  mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
    16  #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
    17  gpgcheck=1
    18  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    19
    20  #released updates 
    21  [updates]
    22  name=CentOS-$releasever - Updates
    23  mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
    24  #baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
    25  gpgcheck=1
    26  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    27
    28  #additional packages that may be useful
    29  [extras]
    30  name=CentOS-$releasever - Extras
    31  mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
    32  #baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
    33  gpgcheck=1
    34  enabled=1
    35  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    36
    37  #additional packages that extend functionality of existing packages
    38  [centosplus]
    39  name=CentOS-$releasever - Plus
    40  mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
    41  #baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
    42  gpgcheck=1
    43  enabled=0
    44  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    45
/etc/yum.repos.d

 2. 卸载旧版本

sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine

较旧的 Docker 版本称为 docker 或 docker-engine. 如果已安装这些程序,请卸载它们以及相关的依赖项.

[root@localhost ~]# sudo yum remove docker \
> docker-client \
> docker-client-latest \
> docker-common \
> docker-latest \
> docker-latest-logrotate \
> docker-logrotate \
> docker-engine

3. 使用存储库安装

在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 存储库。之后,您可以从存储库安装和更新 Docker.

设置存储库

3.1 安装所需的软件包.yum-utils 提供了 yum-config-manager 效用,并 device-mapper-persistent-data 和 lvm2 由需要 devicemapper 存储驱动程序.

sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
[root@localhost ~]# sudo yum install -y yum-utils \
> device-mapper-persistent-data \
> lvm2

3.2 使用以下命令来设置稳定的存储库.

sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
[root@localhost ~]# sudo yum-config-manager \
> --add-repo \
> https://download.docker.com/linux/centos/docker-ce.repo

 4. 安装 DOCKER ENGINE-CentOS 社区版

安装最新版本的 Docker Engine-Community 和 containerd, 或者转到下一步安装特定版本:

sudo yum install -y docker-ce docker-ce-cli containerd.io
[root@localhost ~]# sudo yum install -y docker-ce docker-ce-cli containerd.io 

如果提示您接受 GPG 密钥,请验证指纹是否匹配 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35, 如果是,则接受它.

5. 有多个 Docker 存储库吗?

如果启用了多个 Docker 存储库,则在未在 yum installor yum update 命令中指定版本的情况下进行安装或更新将始终安装可能的最高版本,这可能不适合您的稳定性需求.

Docker 已安装但尚未启动.docker 创建该组,但没有用户添加到该组.

要安装特定版本的 Docker Engine-Community, 请在存储库中列出可用版本,然后选择并安装:

一种。列出并排序您存储库中可用的版本。此示例按版本号(从高到低)对结果进行排序,并被截断:

yum list docker-ce --showduplicates | sort -r
[root@localhost ~]# yum list docker-ce --showduplicates | sort -r
 * updates: mirrors.aliyun.com
Loading mirror speeds from cached hostfile
Loaded plugins: fastestmirror
Installed Packages
 * extras: mirrors.aliyun.com
 * epel: hkg.mirror.rackspace.com
docker-ce.x86_64            3:19.03.3-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:19.03.3-3.el7                    @docker-ce-stable
docker-ce.x86_64            3:19.03.2-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:19.03.1-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:19.03.0-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:18.09.9-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:18.09.8-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:18.09.7-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:18.09.6-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:18.09.5-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:18.09.4-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:18.09.3-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:18.09.2-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:18.09.1-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:18.09.0-3.el7                    docker-ce-stable 
docker-ce.x86_64            18.06.3.ce-3.el7                   docker-ce-stable 
docker-ce.x86_64            18.06.2.ce-3.el7                   docker-ce-stable 
docker-ce.x86_64            18.06.1.ce-3.el7                   docker-ce-stable 
docker-ce.x86_64            18.06.0.ce-3.el7                   docker-ce-stable 
docker-ce.x86_64            18.03.1.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            18.03.0.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.12.1.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.12.0.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.09.1.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.09.0.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.06.2.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.06.1.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.06.0.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.03.3.ce-1.el7                   docker-ce-stable 
docker-ce.x86_64            17.03.2.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.03.1.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.03.0.ce-1.el7.centos            docker-ce-stable 
 * base: mirrors.aliyun.com
Available Packages

返回的列表取决于启用的存储库,并且特定于您的 CentOS 版本(.el7 在此示例中以后缀表示)

通过其完全合格的软件包名称安装特定版本,该软件包名称是软件包名称(docker-ce)加上版本字符串(第二列), 从第一个冒号(:)一直到第一个连字符,并用连字符(-)分隔。例如,docker-ce-18.09.1

sudo yum install -y docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io

Docker 已安装但尚未启动.

6. 启动 Docker

[root@localhost ~]# sudo systemctl start docker

7. 检查 Docker 进程

[root@localhost ~]# pgrep -l docker
7286 dockerd

8. 通过运行 hello-world 映像来验证是否正确安装了 Docker Engine-Community.

[root@localhost ~]# sudo docker run hello-world
Unable to find image ''hello-world:latest'' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete 
Digest: sha256:c3b4ada4687bbaa170745b3e4dd8ac3f194ca95b2d0518b417fb47e5879d9b5f
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

运行命令下载测试图像并在容器中运行。容器运行时,它会打印参考消息并退出.

Docker Engine-Community 已安装并正在运行.

您需要使用 sudo 来运行 Docker 命令。继续进行 Linux 后安装,以允许非特权用户运行 Docker 命令以及其他可选配置步骤.

Docker 创建该组,但没有用户添加到该组.

1.创建用户名

[root@localhost ~]# useradd wwweee000
[root@localhost ~]# passwd wwweee000
Changing password for user wwweee000.
New password: 
BAD PASSWORD: The password is a palindrome
Retype new password: 
passwd: all authentication tokens updated successfully.

2.创建docker用户组名

[root@localhost ~]# sudo groupadd docker
groupadd: group ''docker'' already exists

3. 应用wwweee000用户加入docker用户组

[root@localhost ~]# sudo usermod -aG docker wwweee000

4. 切换或者退出当前账户再从新登入

su root             切换到root用户
su wwweee000        再切换到原来的应用用户以上配置才生效

[root@localhost ~]# vi /etc/sudoers
root    ALL=(ALL)         ALL
wwweee000    ALL=(ALL)         ALL
[root@localhost ~]# cat -n /etc/sudoers | grep "root\|wwweee000"
     2  ## the root user, without needing the root password.
    99  ## Allow root to run any commands anywhere 
   100  root    ALL=(ALL)       ALL
   101  wwweee000    ALL=(ALL)       ALL
   114  ## cdrom as root
[root@localhost ~]# chmod u+w /etc/sudoers
[root@localhost ~]# newgrp docker
[root@localhost ~]# sudo systemctl restart docker
[root@localhost ~]# su wwweee000
[wwweee000@localhost root]$ cd
[wwweee000@localhost ~]$ docker run hello-world

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/
[wwweee000@localhost ~]$ su root
Password: 
[root@localhost wwweee000]# cd
[root@localhost ~]# 

说明:
这里说下你可以sudoers添加下面四行中任意一条 

youuser ALL=(ALL) ALL 
%youuser ALL=(ALL) ALL 
youuser ALL=(ALL) NOPASSWD: ALL 
%youuser ALL=(ALL) NOPASSWD: ALL

第一行:允许用户youuser执行sudo命令(需要输入密码). 
第二行:允许用户组youuser里面的用户执行sudo命令(需要输入密码). 
第三行:允许用户youuser执行sudo命令,并且在执行的时候不输入密码. 
第四行:允许用户组youuser里面的用户执行sudo命令,并且在执行的时候不输入密码.

撤销sudoers文件写权限,命令: chmod u-w /etc/sudoers

 ----------------------------------------------------------------------------------------------------------------------------------------------------------

 ------------------------------------------------------------------ 安装完成  ---------------------------------------------------------------------------

 ----------------------------------------------------------------------------------------------------------------------------------------------------------

 ----------------------------------------------------------------------------------------------------------------------------------------------------------

 

1. 从软件包安装 (参考)

如果无法使用 Docker 的存储库安装 Docker, 则可以下载该.rpm 发行版的 文件并手动安装.
每次升级 Docker Engine-Community 时,都需要下载一个新文件.

转到 https://download.docker.com/linux/centos/7/x86_64/stable/Packages/ 并下载.rpm 要安装的 Docker 版本的文件.

注意:要安装夜间 或测试(预发布)软件包,stable 请将上述 URL 中的单词更改为 nightly 或 test. 了解每晚和测试频道.

安装 Docker Engine-Community , 将下面的路径更改为您下载 Docker 软件包的路径.

[root@localhost ~]# sudo yum install /path/to/package.rpm

Docker 已安装但尚未启动.docker 创建该组,但没有用户添加到该组.

启动 Docker.

[root@localhost ~]# sudo systemctl start docker

通过运行 hello-world 映像来验证是否正确安装了 Docker Engine-Community .

[root@localhost ~]# sudo docker run hello-world

运行命令下载测试图像并在容器中运行。容器运行时,它会打印参考消息并退出.

Docker Engine-Community 已安装并正在运行。您需要使用 sudo 来运行 Docker 命令.
继续执行 Linux 的安装后步骤,以允许非特权用户运行 Docker 命令以及其他可选配置步骤.

升级 DOCKER 引擎 - 社区

要升级 Docker Engine-Community, 请下载更新的软件包文件,然后使用 代替,并指向新文件,重复 安装过程.

[root@localhost ~]# yum -y upgradeyum -y install

2. 使用便捷脚本进行安装 (参考)

Docker 在 get.docker.com 和 test.docker.com 上提供了方便脚本,用于将 Docker Engine-Community 的边缘版本和测试版本快速且非交互地安装到开发环境中.
脚本的源代码在 docker-install 存储库中.
不建议在生产环境中使用这些脚本,在使用它们之前,您应该了解潜在的风险:

脚本需要运行 root 或具有 sudo 特权。因此,在运行脚本之前,应仔细检查和审核脚本.
这些脚本尝试检测 Linux 发行版和版本,并为您配置软件包管理系统。此外,脚本不允许您自定义任何安装参数.
从 Docker 的角度或您自己组织的准则和标准的角度来看,这可能导致不支持的配置.
这些脚本将安装软件包管理器的所有依赖项和建议,而无需进行确认。这可能会安装大量软件包,具体取决于主机的当前配置.
该脚本未提供用于指定要安装哪个版本的 Docker 的选项,而是安装了在 “edge” 通道中发布的最新版本.
如果已使用其他机制将 Docker 安装在主机上,请不要使用便捷脚本.
本示例使用 get.docker.com 上的脚本在 Linux 上安装最新版本的 Docker Engine-Community.
要安装最新的测试版本,请改用 test.docker.com. 在下面的每个命令,取代每次出现 get 用 test.

警告:

在本地运行之前,请务必检查从 Internet 下载的脚本.

[root@localhost ~]# curl -fsSL https://get.docker.com -o get-docker.sh
[root@localhost ~]# sudo sh get-docker.sh

<output truncated>

如果要使用 Docker 作为非 root 用户,则现在应考虑使用类似以下方式将用户添加到 “docker” 组:

[root@localhost ~]# sudo usermod -aG docker wwweee000

请记住注销并重新登录才能生效!

警告:

将用户添加到 “docker” 组后,他们可以运行容器,该容器可用于获取 Docker 主机上的根特权.

Docker Engine-CentOS 社区已安装。它会自动在 DEB 基于发布的版本上启动.
在 RPM 基于发行版的系统上,您需要使用相应的 systemctl 或 service 命令手动启动它 .
如消息所示,默认情况下,非 root 用户无法运行 Docker 命令.

使用便捷脚本后升级 DOCKER
如果使用便捷脚本安装了 Docker , 则应直接使用包管理器升级 Docker.
重新运行便利程序脚本没有任何好处,并且如果尝试重新添加已经添加到主机的存储库,则可能导致问题.

卸载 Docker Engine - 社区
卸载 Docker 软件包:

[root@localhost ~]# sudo yum remove docker-ce

主机上的映像,容器,卷或自定义配置文件不会自动删除。要删除所有图像,容器和卷:

[root@localhost ~]# sudo rm -rf /var/lib/docker

您必须手动删除所有已编辑的配置文件.

 ----------------------------------------------------------------------------------------------------------------------------------------------------------

 ---------------------------------------------overlay2 建议使用存储驱动程序.------------------------------------------------------------------

 ----------------------------------------------------------------------------------------------------------------------------------------------------------

 ----------------------------------------------------------------------------------------------------------------------------------------------------------

1.docker默认的存储目录是/var/lib/docker
[root@localhost ~]# ls -lh /var/lib/docker
total 8.0K
drwx------  2 root root   24 Oct 10 01:10 builder
drwx--x--x  4 root root   92 Oct 10 01:10 buildkit
drwx------  7 root root 4.0K Oct 10 02:05 containers
drwx------  3 root root   22 Oct 10 01:10 image
drwxr-x---  3 root root   19 Oct 10 01:10 network
drwx------ 17 root root 4.0K Oct 10 02:05 overlay2
drwx------  4 root root   32 Oct 10 01:10 plugins
drwx------  2 root root    6 Oct 10 01:52 runtimes
drwx------  2 root root    6 Oct 10 01:10 swarm
drwx------  2 root root    6 Oct 10 02:05 tmp
drwx------  2 root root    6 Oct 10 01:10 trust
drwx------  2 root root   25 Oct 10 01:10 volumes

2.启动nginx容器
[root@localhost ~]# docker run -d nginx  //会下载nginx镜像并运行一个nginx镜像容器进程
Unable to find image ''nginx:latest'' locally
latest: Pulling from library/nginx
b8f262c62ec6: Pull complete 
e9218e8f93b1: Pull complete 
7acba7289aa3: Pull complete 
Digest: sha256:aeded0f2a861747f43a01cf1018cf9efe2bdd02afd57d2b11fcc7fcadc16ccd1
Status: Downloaded newer image for nginx:latest
c6970c0f854135f75998ed1bdc0c7cc2ebea86acd3fe02451063cde641b8a4d1

3.查找 Docker Hub 上的 nginx 镜像
[root@localhost ~]# docker search nginx
NAME                              DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
nginx                             Official build of Nginx.                        12037               [OK]                
jwilder/nginx-proxy               Automated Nginx reverse proxy for docker con…   1671                                    [OK]
richarvey/nginx-php-fpm           Container running Nginx + PHP-FPM capable of…   742                                     [OK]
linuxserver/nginx                 An Nginx container, brought to you by LinuxS…   78                                      
bitnami/nginx                     Bitnami nginx Docker Image                      71                                      [OK]
tiangolo/nginx-rtmp               Docker image with Nginx using the nginx-rtmp…   56                                      [OK]
nginxdemos/hello                  NGINX webserver that serves a simple page co…   29                                      [OK]
jlesage/nginx-proxy-manager       Docker container for Nginx Proxy Manager        24                                      [OK]
jc21/nginx-proxy-manager          Docker container for managing Nginx proxy ho…   24                                      
nginx/nginx-ingress               NGINX Ingress Controller for Kubernetes         22                                      
privatebin/nginx-fpm-alpine       PrivateBin running on an Nginx, php-fpm & Al…   18                                      [OK]
schmunk42/nginx-redirect          A very simple container to redirect HTTP tra…   17                                      [OK]
blacklabelops/nginx               Dockerized Nginx Reverse Proxy Server.          12                                      [OK]
centos/nginx-18-centos7           Platform for running nginx 1.8 or building n…   11                                      
centos/nginx-112-centos7          Platform for running nginx 1.12 or building    10                                      
nginxinc/nginx-unprivileged       Unprivileged NGINX Dockerfiles                  9                                       
nginx/nginx-prometheus-exporter   NGINX Prometheus Exporter                       7                                       
sophos/nginx-vts-exporter         Simple server that scrapes Nginx vts stats a…   5                                       [OK]
1science/nginx                    Nginx Docker images that include Consul Temp…   5                                       [OK]
mailu/nginx                       Mailu nginx frontend                            4                                       [OK]
pebbletech/nginx-proxy            nginx-proxy sets up a container running ngin…   2                                       [OK]
travix/nginx                      NGinx reverse proxy                             2                                       [OK]
ansibleplaybookbundle/nginx-apb   An APB to deploy NGINX                          1                                       [OK]
centos/nginx-110-centos7          Platform for running nginx 1.10 or building    0                                       
wodby/nginx                       Generic nginx                                   0                                       [OK]

4.拉取官方的镜像
[root@localhost ~]# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
Digest: sha256:aeded0f2a861747f43a01cf1018cf9efe2bdd02afd57d2b11fcc7fcadc16ccd1
Status: Image is up to date for nginx:latest
docker.io/library/nginx:latest

4.查到本地镜像列表里 REPOSITORY  nginx 的镜像
[root@localhost ~]# docker images nginx
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              f949e7d76d63        2 weeks ago         126MB

5.查看网卡信息(多了个docker0网卡)
[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:f2:3d:bf brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.3/24 brd 192.168.1.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::9a8:d0da:266f:5ac7/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 02:42:32:18:de:d4 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
    inet6 fe80::42:32ff:fe18:ded4/64 scope link 
       valid_lft forever preferred_lft forever

6.启动一个 Nginx 容器

[root@localhost ~]# docker run --name nginx_name -p 8081:80 -d nginx
cd5b2b7338504b1e0a5dc074b796e37b4959fd93ec5260c14f0b3284929c1396

nginx_name 容器名称设置不要使用-
the -d设置容器在在后台一直运行
the -p 端口进行映射,将本地 8081 端口映射到容器内部的 80 端口
7c82f5afa73e2d8d031ed95d109b4e1cd7e39292591a3dd9dd94caeb772079b1 为容器的 ID

[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:f2:3d:bf brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.3/24 brd 192.168.1.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::9a8:d0da:266f:5ac7/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
    link/ether 02:42:32:18:de:d4 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
    inet6 fe80::42:32ff:fe18:ded4/64 scope link 
       valid_lft forever preferred_lft forever
19: vethd3e3ef9@if18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP group default 
    link/ether 82:2d:54:0d:34:da brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet6 fe80::802d:54ff:fe0d:34da/64 scope link 
       valid_lft forever preferred_lft forever

7.查找nginx运行进程信息
[root@localhost ~]# docker ps|grep nginx
cd5b2b733850        nginx               "nginx -g ''daemon of…"   About a minute ago   Up About a minute   0.0.0.0:8081->80/tcp   runoob-nginx-test

[root@localhost ~]# docker top nginx_name
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                17118               17101               0                   03:10               ?                   00:00:00            nginx: master process nginx -g daemon off;
101                 17167               17118               0                   03:11               ?                   00:00:00            nginx: worker process

[root@localhost ~]#  ps -ef | grep nginx
root      17118  17101  0 03:10 ?        00:00:00 nginx: master process nginx -g daemon off;
101       17167  17118  0 03:11 ?        00:00:00 nginx: worker process
root      17360  10468  0 03:13 pts/0    00:00:00 grep --color=auto nginx

8.查看Docker进程
列出所有在运行的容器信息
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
cd5b2b733850        nginx               "nginx -g ''daemon of…"   5 minutes ago       Up 4 minutes        0.0.0.0:8081->80/tcp   nginx_name

9.列出最近创建的5个容器信息
[root@localhost ~]# docker ps -n 5
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
cd5b2b733850        nginx               "nginx -g ''daemon of…"   5 minutes ago       Up 5 minutes        0.0.0.0:8081->80/tcp   nginx_name

10.列出所有创建的容器ID
[root@localhost ~]# docker ps -a -q                    
cd5b2b733850

11.确认使用 overlay2 使用存储驱动程序
[root@localhost ~]# ls -lh /var/lib/docker/image/
total 0
drwx------ 5 root root 81 Oct 10 02:05 overlay2

12.查看overlay2目录
[root@localhost ~]# tree -L 2 /var/lib/docker/image/overlay2/
/var/lib/docker/image/overlay2/
├── distribution
   ├── diffid-by-digest
   └── v2metadata-by-diffid
├── imagedb
   ├── content
   └── metadata
├── layerdb
   ├── mounts
   ├── sha256
   └── tmp
└── repositories.json

10 directories, 1 file

13.停止 nginx_name
[root@localhost ~]# docker stop nginx_name
nginx_name

14.删除 nginx_name 容器
[root@localhost ~]# docker  rm nginx_name 
nginx_name

15.删除后查看网卡信息
[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:f2:3d:bf brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.3/24 brd 192.168.1.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::9a8:d0da:266f:5ac7/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 02:42:32:18:de:d4 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
    inet6 fe80::42:32ff:fe18:ded4/64 scope link 
       valid_lft forever preferred_lft forever

15.切换普通用户wwweee000
[root@localhost ~]# su wwweee000
[wwweee000@localhost root]$ cd
[wwweee000@localhost ~]$ docker run --name nginx_name_wwweee000 -p 8082:80 -d nginx 
79f9741f257ac4fc8079b4283d9830cec8d2a5d85fde530bf08aec3f5a1970a3
[wwweee000@localhost ~]$ docker ps |grep nginx_name_wwweee000
79f9741f257a        nginx               "nginx -g ''daemon of…"   About a minute ago   Up About a minute   0.0.0.0:8082->80/tcp   nginx_name_wwweee000
[wwweee000@localhost ~]$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
79f9741f257a        nginx               "nginx -g ''daemon of…"   2 minutes ago       Up 2 minutes        0.0.0.0:8082->80/tcp   nginx_name_wwweee000
ae4026623f4a        nginx               "nginx -g ''daemon of…"   6 minutes ago       Up 6 minutes        0.0.0.0:8081->80/tcp   nginx_name
[wwweee000@localhost ~]$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:f2:3d:bf brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.3/24 brd 192.168.1.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::9a8:d0da:266f:5ac7/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
    link/ether 02:42:32:18:de:d4 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
    inet6 fe80::42:32ff:fe18:ded4/64 scope link 
       valid_lft forever preferred_lft forever
27: vethb5b02c6@if26: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP group default 
    link/ether 2e:82:6a:01:a6:a5 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet6 fe80::2c82:6aff:fe01:a6a5/64 scope link 
       valid_lft forever preferred_lft forever
29: veth13521f0@if28: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP group default 
    link/ether 22:d1:38:0a:0f:3d brd ff:ff:ff:ff:ff:ff link-netnsid 1
    inet6 fe80::20d1:38ff:fe0a:f3d/64 scope link 
       valid_lft forever preferred_lft forever

16.普通用户也可以停止root用户docker容器
[wwweee000@localhost ~]$ docker stop nginx_name
nginx_name
[wwweee000@localhost ~]$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
79f9741f257a        nginx               "nginx -g ''daemon of…"   4 minutes ago       Up 4 minutes        0.0.0.0:8082->80/tcp   nginx_name_wwweee000
[wwweee000@localhost ~]$ docker restart nginx_name
nginx_name
[wwweee000@localhost ~]$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
79f9741f257a        nginx               "nginx -g ''daemon of…"   12 minutes ago      Up 12 minutes       0.0.0.0:8082->80/tcp   nginx_name_wwweee000
ae4026623f4a        nginx               "nginx -g ''daemon of…"   16 minutes ago      Up 12 seconds       0.0.0.0:8081->80/tcp   nginx_name

docker ps // 查看所有正在运行容器
docker stop containerId // containerId 是容器的ID

docker ps -a // 查看所有容器
docker ps -a -q // 查看所有容器ID

docker stop $(docker ps -a -q) // stop停止所有容器
docker  rm $(docker ps -a -q) // remove删除所有容器

docker kill 容器ID或容器名 //直接关闭容器


17.设置用户管理root用户组的容器进行操作(参考)
https://www.jb51.net/article/149430.htm

 

 

 

 

 

centos 7 安装 docker win10 系统用 maven 构建镜像并推送到 docker 私有仓库

centos 7 安装 docker win10 系统用 maven 构建镜像并推送到 docker 私有仓库

安装 Docker

本文介绍 Docker CE 的安装使用。

移除旧的版本:

$ sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-selinux \ docker-engine-selinux \ docker-engine

安装一些必要的系统工具:

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

添加软件源信息:

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

更新 yum 缓存:

sudo yum makecache fast

安装 Docker-ce:

sudo yum -y install docker-ce

启动 Docker 后台服务

sudo systemctl start docker

搭建私有仓库

docker run -d -p 5000:5000 -restart=always --name registry2 registry:2

配置 docker 远程访问

修改配置文件 /usr/lib/systemd/system/docker.service,配置远程访问。在 ExecStart=/usr/bin/dockerd,加上下面两个参数

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

配置完如下

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target

[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
# ExecStart=/usr/bin/dockerd
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target

docker 重新读取配置文件,重新启动 docker 服务

systemctl daemon-reload
systemctl restart docker

查看是否开起 docker 守护线程监听

[root@localhost ~]# ps -ef|grep docker
root       4022      1  0 14:46 ?        00:00:26 /usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

 注意:生产环境最好将这个关掉,或者做好安全的配置

maven 中添加插件

<plugins>
			<plugin>
				<groupId>com.spotify</groupId>
				<artifactId>docker-maven-plugin</artifactId>
				<version>0.4.13</version>
				<configuration>
					<dockerHost>http://192.168.5.129:2375</dockerHost>
					<imageName>192.168.5.129:5000/${project.build.finalName}:${project.version}</imageName>
					<baseImage>java</baseImage>
					<entryPoint>["java","-jar","/${project.build.finalName}.jar"]</entryPoint>
					<exposes>1111</exposes>
					<resources>
						<resource>
							<targetPath>/</targetPath>
							<directory>${project.build.directory}</directory>
							<include>${project.build.finalName}.jar</include>
						</resource>
					</resources>
					<forceTags> true</forceTags>
				</configuration>
			</plugin>
		</plugins>

注意:

  1. 必须配置 dockerHost 标签(除非配置系统环境变量 DOCKER_HOST=tcp://192.168.5.129:2375)否则默认访问的是 127.0.0.1:2375
  2. imageName 标签中不能以 http 或者其他网络协议开头,如果设置 maven 打包时会报错!
  3. [ERROR] Failed to execute goal com.spotify:docker-maven-plugin:0.4.13:build (default-cli) on project eureka-server: Exception caught: java.util.concurrent.ExecutionException: com.spotify.docker.client.shaded.javax.ws.rs.ProcessingException: org.apache.http.client.ClientProtocolException: Cannot retry request with a non-repeatable request entity: Connection reset by peer: socket write error -> [Help 1]

     

端口 2375 是 docker 守护线程的端口,编译时必须要获取该 docker 一些版本信息

端口 5000 是 registry 私有仓库的访问端口

构建 docker 并推送到私有仓库

执行以下命令

mvn clean package docker:buid

如果是在 IDE 中需要配置

如果出现以下信息表示构建并推送成功

Step 1/4 : FROM java

 ---> d23bdf5b1b1b
Step 2/4 : ADD /eureka-server.jar //

 ---> e899c3aa60e3
Step 3/4 : EXPOSE 1111

 ---> Running in a0231274bdcb
Removing intermediate container a0231274bdcb
 ---> 4a704fe28128
Step 4/4 : ENTRYPOINT ["java","-jar","/eureka-server.jar"]

 ---> Running in e15b46e004d3
Removing intermediate container e15b46e004d3
 ---> 3894be37b2b6
ProgressMessage{id=null, status=null, stream=null, error=null, progress=null, progressDetail=null}
Successfully built 3894be37b2b6
Successfully tagged 192.168.5.129:5000/eureka-server:0.0.1-SNAPSHOT

查看私服中的镜像

[root@localhost ~]# docker images
REPOSITORY                                               TAG                 IMAGE ID            CREATED             SIZE
192.168.5.129:5000/microservice-discover-eureka   0.0.1               09adbef23e0f        About an hour ago   684MB
registry                                                 2                   b2b03e9146e1        6 weeks ago         33.3MB
java                                                     latest              d23bdf5b1b1b        19 months ago       643MB

参考:https://forums.docker.com/t/expose-the-docker-remote-api-on-centos-7/26022

 

 

 

关于Centos 7.9 安装 Dockercentos 7.9 安装向日葵的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于.NETCore 添加 Docker 支持,并上传镜像至 Docker Hub,最后在 CentOs 中拉取镜像运行、167 docker docker构建nginx容器系列问题 docker registry docker run docker toolbo、centos 7 安装 Docker Engine-CentOS 社区版、centos 7 安装 docker win10 系统用 maven 构建镜像并推送到 docker 私有仓库的相关信息,请在本站寻找。

本文标签: