导航:首页 > IDC知识 > docker镜像服务器

docker镜像服务器

发布时间:2021-03-16 09:00:34

1、如何在Linux服务器上安装Docker

安装一个docker,然后自己用命令行启动另外一个docker
下面是一个启动命令:
<pre t="code" l="bash">nohup docker daemon --selinux-enabled=false --log-driver=journald --storage-driver=overlay \
-H unix:///var/run/docker-bootstrap.sock -p /var/run/dockerbootstrap.pid \
--iptables=false --ip-masq=false --bridge=none --graph=/var/lib/dockerbootstrap \
2> /var/log/docker-bootstrap.log 1> /dev/null
注意几点:-H参数需要给出另外一个socket文件名-p给出另外一个pid文件名--graph 给出另外一个存放docker镜像容器的路径名称

2、如何替换docker镜像源为阿里云

小鸟云服务器niaoyun实例创建好之后,您可以使用以下任意一种方式登录服务器:

远程桌面连接(,MSTSC):采用这种方式登录,请确保实例能访问公网。如果在创建实例时没有购买带宽,则不能使用远程桌面连接。

管理终端VNC:无论您在创建实例时是否购买了带宽,只要您本地有网页浏览器,都可以通过管理控制台的管理终端登录实例。

使用远程桌面连接(MSTSC)登录实例

打开开始菜单>远程桌面连接,或在开始菜单>搜索中输入mstsc。也可以使用快捷键Win+R来启动运行窗口,输入mstsc后回车启动远程桌面连接。

在远程桌面连接对话框中,输入实例的公网IP地址。单击显示选项。

输入用户名,如小鸟云默认为niaoyun。单击允许我保存凭据,然后单击连接。这样以后登录就不需要手动输入密码了。

3、linux服务器docker安装后能不能部署windows镜像

首先需要区分Linux内核与Linux发行版
Linux内核是Linux操作系统的核心, 负责硬件管理, 比如管理内存、管理磁盘(文件系统)、管理CPU(进程)等等
Linux发行版是在Linux内核的基础上添加了一些工具,比如图形界面、函数库、包管理系统等等
CentOS与Ubuntu是不同的Linux发行版, 它们都是基于Linux内核, 只是添加的工具不同。比如, 他们的包管理系统不同, CentOS使用yum命令安装, 而Ubuntu使用apt-get命令安装。
因此CentOS与Ubuntu的内核是相同的(版本可能不同), 只是所安装的不同, 即文件系统不同。
Docker容器技术是基于Linux内核实现的, 它主要用到了两个内核模块:
Namespace: 用于容器的隔离, 例如PID Namespace使得容器中的进程无法感知宿主机以及其他容器中的进程。
Cgroups: 用于容器的资源控制, 比如限制容器所使用的内存大小或者CPU个数。
在CentOS上运行基于Ubuntu镜像的容器时, 容器使用了CentOS主机的内核以及Ubuntu镜像, Ubuntu镜像中安装了Ubuntu的各种(apt-get)。

4、docker的好处,为什么使用docker来部署服务器

Docker的使用
Docker是一个轻量级的虚拟化解决方案,你可以实现秒级的虚拟机启动、非常轻量级的虚拟化。个人使用理解看来,它可以实现一个类似于版本管理Git一样的轻量化的状态保存。
Docker有两个非常重要的概念: 镜像和容器。
镜像是呈载容器的实体,所有容器都是运行在镜像之上。用版本管理的角度来看,镜像就像是某一个节点,它可以派生出不同的分支,你可以在不同分支上做不同的事情。可以想象成一棵树,最基本的镜像是主树干,主树干可以分出旁支树干,而旁支树干可以分出更细的旁支,而树干上可以生长树枝。
比如,你使用Docker,从官方仓库下载一个ubuntu镜像,把它作为最基础的镜像。然后在上面运行一个容器,这个容器里下载Nginx,再以这个容器为基础生成一个新的镜像,以后这个镜像生成的容器就都是ubuntu+nginx为基础。但是你工作环境可能需要你使用Apache来工作,你也想有一个ubuntu+apache为基础的镜像,于是你可以使用最基础的ubuntu镜像运行一个容器,在里面下载安装Apache,然后以这个容器为基础,保存一个ubuntu+apache的镜像,以后在这个镜像基础上运行的所有容器都拥有了一个apache环境。

5、如何查看一个docker容器使用了多少服务器资源

你好,操作命令如下:Docker会在隔离的容器中运行进程。当运行dockerrun命令时,Docker会启动一个进程,并为这个进程分配其独占的文件系统、网络资源和以此进程为根进程的进程组。在容器启动时,镜像可能已经定义了要运行的二进制文件、暴露的网络端口等,但是用户可以通过dockerrun命令重新定义(译者注:dockerrun可以控制一个容器运行时的行为,它可以覆盖dockerbuild在构建镜像时的一些默认配置),这也是为什么run命令相比于其它命令有如此多的参数的原因。命令格式最基本的dockerrun命令的格式如下:$sudodockerrun[OPTIONS]IMAGE[:TAG][COMMAND][ARG]如果需要查看[OPTIONS]的详细使用说明,请参考Docker关于OPTIONS的章节。这里仅简要介绍Run所使用到的参数。OPTIONS总起来说可以分为两类:设置运行方式:决定容器的运行方式,前台执行还是后台执行;设置containerID;设置网络参数;设置容器的CPU和内存参数;-设置权限和LXC参数;设置镜像的默认资源,也就是说用户可以使用该命令来覆盖在镜像构建时的一些默认配置。dockerrun[OPTIONS]可以让用户完全控制容器的生命周期,并允许用户覆盖执行dockerbuild时所设定的参数,甚至也可以修改本身由Docker所控制的内核级参数。Operatorexclusiveoptions当执行dockerrun时可以设置以下参数:DetachedvsForegroundDetached(-d)-(--name)-(--rm),LinuxCapabilities,andLXCConfiguration接下来我们依次进行介绍。Detachedvsforeground当我们启动一个容器时,首先需要确定这个容器是运行在前台还是运行在后台。-d=false:Detachedmode:Runcontainerinthebackground,printnewcontaineridDetached(-d)如果在dockerrun后面追加-d=true或者-d,那么容器将会运行在后台模式。此时所有I/O数据只能通过网络资源或者共享卷组来进行交互。因为容器不再监听你执行dockerrun的这个终端命令行窗口。但你可以通过执行dockerattach来重新附着到该容器的回话中。需要注意的是,容器运行在后台模式下,是不能使用--rm选项的。

6、docker镜像怎么迁移到其他的服务器

docker image 存放在 docker registry 库中,可通过push把本地的image上传到Registry库上,然后再pull回到本地
client01(push) -----> registry <------client02(pull)

7、centos docker 镜像可以移到其它服务器么

docker容器跨服务器的迁移的方法
docker的备份方式有export和save两种。
export是当前的状态,针对的是容器,docker save 是针对镜像images。
export
找出要备份容器的ID
[root@wls12c ~]$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS NAMES
037b847bf093 centos "/bin/bash" 3 minutes ago Exited (0) 2 minute naughty_davinci

备份
[root@wls12c ~]$ docker export 037b847bf093 >centos_demo.tar

[root@wls12c ~]$ -sh centos_demo.tar
195M centos_demo.tar

export是把容器打成一个tar包。
恢复
把刚才备份的centos_demo.tar打包到目标服务器
[root@11g ~]$ cat centos_demo.tar |docker import - centos:demo查看新生成的镜像
[root@11g ~]$ docker images

REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
centos demo 8962416d1362 24 seconds ago 196.7 MB

save
得到镜像名称
[root@wls12c ~]$ docker images

REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
centos latest d83a55af4e75 3 weeks ago 196.7 MB

备份镜像
[root@wls12c ~]$ docker save centos >centos_save.tar

恢复镜像

[root@11g ~]$ docker load <centos_save.tar

查看恢复的镜像
[root@wls12c ~]$ docker images

REPOSITORY TAG IMAGE ID CREATED
centos latest d83a55af4e75 3 weeks ago 196.7 MB

两者的区别:
导出后再导入(exported-imported)的镜像会丢失所有的历史,而保存后再加载(saveed-loaded)的镜像没有丢失历史和层 (layer)。这意味着使用导出后再导入的方式,你将无法回滚到之前的层(layer),同时,使用保存后再加载的方式持久化整个镜像,就可以做到层回 滚(可以执行docker tag <LAYER ID> <IMAGE NAME>来回滚之前的层)。

8、docker 是安装在本地还是服务器

Docker的使用Docker是一个轻量级的虚拟化解决方案,你可以实现秒级的虚拟机启动、非常轻量级的虚拟化。个人使用理解看来,它可以实现一个类似于版本管理Git一样的轻量化的状态保存。Docker有两个非常重要的概念:镜像和容器。镜像是呈载容器

9、如何将docker容器中的镜像跑在服务器上

步骤1:为我们的容器创建第一个镜像
# 以 centos 镜像作为基础镜像,我们启动自己的容器并在其中执行/bin/bash命令
# 注:-t -i 参数用于创建一个虚拟的命令行。
sudo docker run -t -i centos /bin/bash
现在我们已经成功的运行了自己的第一个容器,并且进入到容器的命令行界面中。在容器中,我们执行下面的命令:

yum -y update # 更新软件包
yum install which # 安装which命令
yum install git # 安装Git

安装完成后,按 Ctrl + d 来退出容器的命令行。
# 执行sudo docker ps -a,可以看到被我们终止的容器
CONTAINER ID IMAGE COMMAND CREATED……
da9031d3568f centos:6.4 /bin/bash 5 minutes ago…..
把我们所做的改变提交到一个新的容器:
# 这里我们创建一个自己的基础容器,容器中安装好了文章中所需的常用工具。读者的容器 id 可能与文章中的有所不同,以上一步 docker ps -a 的结果为准。
sudo docker commit da90 custom/base
容器成功提交后,执行 sudo docker images ,我们会看到刚才提交的容器(如下面的结果所示)。我们就以这个容器为基础容器,再来创建一个新的容器。
REPOSITORY TAG IMAGE ID CREATED
custom/base latest 05b6cecd370b 2 minutes ago
centos 6.4 539c0211cd76 10 months ago
centos latest 539c0211cd76 10 months ago…
步骤2:创建新的容器,并安装 apache
# 以 custom/base 容器为基础,运行一个新的容器。

sudo docker run -t -i custom/base /bin/bash

# 安装 httpd

yum install httpd

步骤3:再次提交新的容器
按 Ctrl + d 来退出容器的命令行,然后执行命令:
# 这个命令会把步骤2中我们安装 httpd 带来的改变提交到新的名为 custom/httpd 的容器镜像中。你的容器 id 可能会和文章中有所不同,以 sudo docker ps -a 命令的结果为准。

sudo docker commit aa6e2fc0b94c custom/httpd

你应该已经发现了,我们创建了一个带有 http 服务器并可以复用的容器镜像。你可以根据这种思想,为自己所需的每个组件都创建一个容器,然后把这些容器复用于开发环境或者生产环境。
步骤7:运行 http 服务器
# -v will Mount a volume from VM to the container which was also shared from host to Vagrant VM.
# -v 参数把主机共享给虚拟机的一个卷挂载到容器中
# -p forward VM port 80 to container port 80; VM port 80 is mapped to host port 8080 in Vagrantfile
# -p 参数把虚拟机的80端口映射到容器的80端口;虚拟机的80端口在 Vagrantfile 中被绑定到主机的8080端口,也就是:主机8080->虚拟机80->容器80
sudo docker run -t -i -p 80:80 -v /vagrant/htdocs:/var/www/html custom/httpd /bin/bash
# 启动 Apache
apachectl -k start

10、无法访问docker镜像服务器?

更改dns
或许可以帮助你
或者使用国内镜像 比如阿里云
请采纳 谢谢

与docker镜像服务器相关的知识