linux配置docker启动参数,在Linux系统上部署docker私有仓库

本文介绍了如何在Linux系统上设置和使用Docker私有仓库,包括修改daemon.json配置文件以允许HTTP访问,解决HTTPS与HTTP不匹配的问题,以及通过`docker run`命令启动和挂载容器。同时,文章还展示了如何为镜像打标签、推送和拉取镜像的步骤,以及在系统配置中添加私有仓库地址。
摘要由CSDN通过智能技术生成

原标题:在Linux系统上部署docker私有仓库

5d488fba35020a3dfad38140a87c100a.png

修改配置http访问

[root@test01 ~]# cat /etc/docker/daemon.json

{"registry-mirrors": ["https://registry.docker-cn.com"],"insecure-registries":["192.168.1.30:5000"]}

如果不这样配置,结果如下。这个问题可能是由于客户端采用https,docker registry未采用https服务所致。一种处理方式是把客户对地址“192.168.1.30:5000”请求改为http

[root@test01 ~]# docker push 192.168.1.30:5000/centos

The push refers to a repository [192.168.1.30:5000/centos]

Get https://192.168.1.30:5000/v1/_ping: http: server gave HTTP response to HTTPS client

使用容器运行docker-registry

[root@test01 ~]# docker run -d -p 5000:5000 --privileged=true -v /opt/data/registry:/tmp/registry --name='docker-registry' registry

参数说明:

-v /opt/data/registry:/tmp/registry :默认情况下,会将仓库存放于容器内的/tmp/registry目录下,指定本地目录挂载到容器

–privileged=true :CentOS7中的安全模块selinux把权限禁掉了,参数给容器加特权,不加上传镜像会报权限错误(OSError: [Errno 13] Permission denied: ‘/tmp/registry/repositories/liibrary’)或者(Received unexpected HTTP status: 500 Internal Server Error)错误

[root@test01 ~]# docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

docker.io/wordpress latest 346b1443b020 30 hours ago 407 MB

[root@test01 ~]# docker push 192.168.1.30:5000/wordpress

The push refers to a repository [192.168.1.30:5000/wordpress]

An image does not exist locally with the tag: 192.168.1.30:5000/wordpress

[root@test01 ~]#

根据提示,我们知道需要修改一下tag才能上传

[root@test01 ~]# docker tag docker.io/wordpress 192.168.1.30:5000/wordpress

[root@test01 ~]# docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

192.168.1.30:5000/wordpress latest 346b1443b020 30 hours ago 407 MB

docker.io/wordpress latest 346b1443b020 30 hours ago 407 MB

[root@test01 ~]# docker push 192.168.1.30:5000/wordpress

The push refers to a repository [192.168.1.30:5000/wordpress]

3d7c1bb6ce9f: Pushed

从私有仓库中下载

[root@test01 ~]# docker pull 192.168.1.30:5000/wordpress

加入ADD_REGISTRY='--add-registry 192.168.1.30:5000'

[root@test01 ~]# cat /etc/sysconfig/docker

# /etc/sysconfig/docker

# Modify these options if you want to change the way the docker daemon runs

OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false -H unix:///var/run/docker.sock -H 0.0.0.0:2376'

ADD_REGISTRY='--add-registry 192.168.1.30:5000'

if [ -z "${DOCKER_CERT_PATH}" ]; then

DOCKER_CERT_PATH=/etc/docker

责任编辑:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 1. 首先,需要在Linux服务器上安装Docker,可以通过官方网站或者包管理器进行安装。 2. 在本地开发环境中,编写Dockerfile文件,定义项目的镜像构建规则,包括基础镜像、依赖项、环境变量等。 3. 使用docker build命令,将Dockerfile文件构建成镜像,并将其推送到Docker Hub或者私有仓库中。 4. 在Linux服务器上,使用docker pull命令,从Docker Hub或者私有仓库中拉取镜像。 5. 使用docker run命令,启动容器,并将容器与主机端口进行映射,使得外部用户可以访问容器中的应用程序。 6. 可以使用docker-compose工具,将多个容器组合在一起,实现复杂的应用程序部署。 ### 回答2: 要将项目通过Docker部署Linux服务器上,我们需要按照以下步骤进行操作: 1. 首先,在Linux服务器上安装Docker。可以通过运行命令`sudo apt-get install docker-ce`来安装Docker。安装完成后,使用命令`docker --version`来验证安装是否成功。 2. 在本地开发环境中创建一个Dockerfile,这是一个文本文件,用来定义将来创建Docker镜像的步骤。Dockerfile中包含了项目所需的软件依赖以及项目代码的复制指令。 3. 在本地开发环境中构建Docker镜像。使用命令`docker build -t image_name:tag .`来构建镜像。其中,`-t`参数用来指定镜像的名称和标签,`.`表示在当前目录下查找Dockerfile文件。 4. 导出镜像文件。使用命令`docker save -o image.tar image_name:tag`将构建好的镜像导出为tar文件。然后将此tar文件通过网络传输到Linux服务器上。 5. 在Linux服务器上导入镜像。使用命令`docker load -i image.tar`来导入镜像。 6. 运行容器。使用命令`docker run -d -p host_port:container_port --name container_name image_name:tag`来运行容器。其中,`-d`参数表示容器将在后台运行,`-p`参数用来指定主机端口和容器端口的映射关系,`--name`参数用来指定容器的名称。 通过以上步骤,我们可以将项目通过Docker部署Linux服务器上。注意,以上步骤中的部分命令需要使用管理员权限,可以在命令前面加上`sudo`来获取管理员权限。 ### 回答3: 要将项目通过Docker部署Linux服务器上,可以按照以下步骤进行操作: 1. 安装Docker:在Linux服务器上安装Docker,可以通过在终端中输入命令来安装。例如,对于Ubuntu系统可以使用以下命令: ``` sudo apt-get update sudo apt-get install docker-ce ``` 2. 构建Docker镜像:在本地开发环境中创建Dockerfile,定义项目的环境和依赖。使用Docker命令构建镜像,例如: ``` docker build -t project-image:version . ``` 这将基于Dockerfile在当前目录中构建一个名为project-image和指定版本的镜像。 3. 上传镜像至仓库:可以将镜像上传至Docker仓库,以便在服务器上进行获取。可以使用以下命令登录到仓库: ``` docker login ``` 然后使用以下命令将镜像上传至仓库: ``` docker push username/project-image:version ``` 4. 在 Linux服务器上拉取镜像:在服务器上登录Docker仓库,并使用以下命令拉取镜像到服务器: ``` docker pull username/project-image:version ``` 5. 运行容器:使用以下命令在Linux服务器上运行容器: ``` docker run -d --name project-container -p 8080:80 project-image:version ``` 这将在服务器上创建一个名为project-container的容器,并将主机的8080端口映射到容器的80端口。 通过以上步骤,项目就会被部署Linux服务器上了。可以通过服务器的IP地址和指定的端口号来访问项目。需要注意的是,服务器上需要安装和配置Docker服务,确保网络端口可访问,并根据项目的具体配置修改命令中的参数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值