linux启动docker?Docker下载
大家好,关于linux启动docker很多朋友都还不太明白,今天小编就来为大家分享关于Docker下载的知识,希望对各位有所帮助!
Linux系统Docker命令怎么用
下面是安装 Docker客户端并在上面运行容器的简单步骤。
1.下载 Boot2Docker
在我们开始安装之前,我们需要 Boot2Docker的可执行文件。可以从它的 Github下载最新版本的 Boot2Docker。在这篇指南中,我们从网站中下载版本 v1.6.1。我们从那网页中用我们喜欢的浏览器或者下载管理器下载了名为 docker-install.exe的文件。
2.安装 Boot2Docker
现在我们运行安装文件,它会安装 Window Docker客户端、用于 Windows的 Git(MSYS-git)、VirtualBox、Boot2Docker Linux ISO以及 Boot2Docker管理工具,这些对于开箱即用地运行全功能的 Docker引擎都至关重要。
3.运行 Boot2Docker
安装完成必要的组件之后,我们从桌面上的“Boot2Docker Start”快捷方式启动 Boot2Docker。它会要求你输入以后用于验证的 SSH密钥。然后会启动一个配置好的用于管理在虚拟机中运行的 Docker的 unix shell。
为了检查是否正确配置,运行下面的 docker version命令。
docker version
4.运行 Docker
由于 Boot2Docker Start自动启动了一个已经正确设置好环境变量的 shell,我们可以马上开始使用 Docker。请注意,如果我们要将 Boot2Docker作为一个远程 Docker守护进程,那么不要在 docker命令之前加 sudo。
现在,让我们来试试 hello-world例子镜像,它会下载 hello-world镜像,运行并输出"Hello from Docker"信息。
$ docker run hello-world
5.使用命令提示符(CMD)运行 Docker
现在,如果你想开始用命令提示符使用 Docker,你可以打开命令提示符(CMD.exe)。由于 Boot2Docker要求 ssh.exe在 PATH中,我们需要在命令提示符中输入以下命令使得%PATH%环境变量中包括 Git安装目录下的 bin文件夹。
set PATH=%PATH%;"c:\Program Files(x86)\Git\bin"
运行上面的命令之后,我们可以在命令提示符中运行 boot2docker start启动 Boot2Docker虚拟机。
boot2docker start
注意:如果你看到 machine does no exist的错误信息,就运行 boot2docker init命令。
然后复制上图中控制台标出命令到 cmd.exe中为控制台窗口设置环境变量,然后我们就可以像平常一样运行 docker容器了。
6.使用 PowerShell运行 Docker
为了能在 PowerShell中运行 Docker,我们需要启动一个 PowerShell窗口并添加 ssh.exe到 PATH变量。
$Env:Path="${Env:Path};c:\Program Files(x86)\Git\bin"
运行完上面的命令,我们还需要运行
boot2docker start
这会打印用于设置环境变量连接到虚拟机内部运行的 Docker的 PowerShell命令。我们只需要在 PowerShell中运行这些命令就可以和平常一样运行 docker容器。
7.用 PUTTY登录
Boot2Docker会在%USERPROFILE%.ssh目录生成和使用用于登录的公共和私有密钥,我们也需要使用这个文件夹中的私有密钥。私有密钥需要转换为 PuTTY的格式。我们可以通过 puttygen.exe实现。
我们需要打开 puttygen.exe并从%USERPROFILE%.ssh\id_boot2docker中导入("File"->"Load"菜单)私钥,然后点击"Save Private Key"。然后用保存的文件通过 PuTTY用 docker@127.0.0.1:2022登录。
8. Boot2Docker选项
Boot2Docker管理工具提供了一些命令,如下所示。
在Linux中对Docker中的服务设置自启动
为了在Linux中对Docker中的服务设置自启动,首先需要安装Docker。安装过程包括卸载旧版本Docker、安装gcc依赖、设置Docker仓库、安装Docker Engine-Community和containerd。使用命令行完成这些步骤,确保Docker正确安装。
安装完毕后,通过命令启动Docker服务,并检查是否成功运行。若Docker未启动,需要运行特定命令以修复启动问题。
完成Docker安装后,进行网络端口映射。创建执行网络端口映射容器,使用命令设置端口,并确保容器正确运行。访问appnode面板进行验证,登录并检查页面显示是否正确。
在完成Docker安装与网络端口映射后,需要卸载Docker,通过命令停止Docker服务,卸载Docker及相关组件,并删除安装包、镜像、容器等。
对Docker中的服务设置自启动涉及进入容器,找到服务的原始启动脚本,新建服务自启动脚本,并在脚本中添加启动命令。给予脚本文件权限,设置开机自启,检查脚本是否有用。最后,退出容器,重启服务器以确保服务自启动。
至此,Docker中的服务已成功设置为在Linux系统启动时自动运行,提供了方便、高效的运行环境。
linux怎么启动docker
2.1在测试机启动容器,安装ssh
docker run-i-t ubuntu/bin/bash#此方式运行的容器,退出后容器就会关闭。
apt-get install openssh-server#安装ssh
#需要修改/etc/sshd/sshd_config文件中内容
PermitRootLogin yes
UsePAM no
2.2启动ssh,容器以后台方式运行
docker run-d-p 50001:22<容器id>/usr/sbin/sshd-D
#容器id可通过 docker ps-a查看,最上面的为最新的。
2.3通过ssh连接到容器安装软件
ssh root@127.0.0.1-p 50001
#连上后想装什么就装什么,可使用exit退出容器,但后台还会运行。
2.4服务安装完成后,停止容器。
docker stop<容器id>#停止运行的容器
2.5把容器提交生成最新的镜像
docker commit<容器id> debian02#把这个容器提交生成新的debian02镜像(该镜像是原始镜像与容器的整合)
2.6打包镜像
docker save debian02>/root/debian02.tar#debian02镜像打包
2.7在另外的机器上导入镜像
docker load< debian02.tar#导入镜像
docker images#查看存在的镜像
2.8启动容器
docker run-h="redis-test"--name redis-test-d-p 51000:22-p51001:3306-p 51003:6379-p 51004:6381-p 51005:80-p 51006:8000-p 51007:8888 debian02/etc/rc.local
#此处是我测试机器启动命令,指定主机名与端口映射。
#启动后,后面又装了程序,开机自启动命令可放在/etc/rc.local文件中。
docker容器迁移简单方便,可以任意的拷贝部署,以后再也不怕新部署环境了,一堆依赖装的想死有木有。
3、关于docker容器的端口映射
由于docker容器的IP地址每次启动都会变,所以不适用于手动添加端口映射(难道每次重启都来查看容器的IP么?),所以需要每次启动容器时由docker程序自动添加NAT规则,前期尽可能的把需要映射的端口在创建容器时配置好,如下:docker run-h="activemq"--name activemq-d-p 51000:22-p 51001:3306-p 51003:6379-p 51004:6381-p 51005:80-p 51006:8000-p 51007:8888 debian/base/etc/rc.local
#此处我把mysql,redis,nginx,ssh都进行了映射。
后续对于docker容器的管理,记住容器的名称,如上述名称是activemq,则使用docker stop,start来控制容器进程。docker stop activemq
docker start activemq
当然,也可以不让docker每次启动容器修改容器的IP地址,参考如下:
docker网络配置:
4、关于docker容器的多程序开机自动运行
docker容器每次启动时,开机自启动的命令都要在启动容器前指定。如 docker run-I-t debian/bin/bash命令,只会运行/bin/bash程序,其它的程序都不会运行,对于要跑多个程序的容器特别纠结。
多程序开机自动运行方法:
可把前面所说的启动命令换成dockerrun-I-t debian/etc/rc.local,在容器中把所有需要开机自的启动命令放在/etc/rc.local中,就可以达到多程序开机自启动了。
后台运行则是:docker run-d-p 50001:22 debian/etc/rc.local。注意:run命令是创建一个新的容器,如果要启动一个曾经运行过的容器,则用命令docker ps-a中找对应的容器ID,然后使用docker start<容器ID>即可。