Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口
目前,大多数linux系统已经包含docker的软件源,所以只需要一句命令安装完事,这里以centos为例
yum install docker-ce*
若centos出现终止安装的情况就输入
yum install docker-ce* --nobest
如果你安装不了docker,请参考官方安装文档docs.docker.com
键入docker -v
将会输出docker的版本号即为成功,如下
[root@Qine ~]# docker -v
Docker version 19.03.8, build afacb8b
若不输出,就启动一下docker,键入sudo systemctl start docker
这里我们pull一个ubuntu
镜像吧
docker pull ubuntu
然后得到
[root@Qine ~]# docker pull ubuntu
Using default tag: latest
latest: Pulling from library/ubuntu
5bed26d33875: Pull complete
f11b29a9c730: Pull complete
930bda195c84: Pull complete
78bf9a5ad49e: Pull complete
Digest: sha256:bec5a2727be7fff3d308193cfde3491f8fba1a2ba392b7546b43a051853a341d
Status: Downloaded newer image for ubuntu:latest
docker.io/library/ubuntu:latest
[root@Qine ~]#
这时候,我们用命令检查一下我们的本地的镜像是否有ubuntu
键入docker image ls
然后得到下面
[root@Qine ~]# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest 4e5021d210f6 4 days ago 64.2MB
[root@Qine ~]#
pull到了镜像当然就要run啦
请看示例
[root@Qine ~]# docker run -t -i ubuntu:latest /bin/bash
root@9f17ef857124:/# exit
exit
[root@Qine ~]#
这里参数说明:
-i: 交互式操作。
-t: 终端。
ubuntu:latest: 这是指用 ubuntu latest 版本镜像为基础来启动容器。
/bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash
然后键入了exit
是退出容器内shell
键入docker ps
即可查看正在运行的docker
我们键入docker attach 容器ID
容器的ID我们用docker ps即可看见
exit又可以切回宿主机
我们使用docker rmi
命令就可以
请看示例(这里我们删除我之前pull的debian)
[root@Qine ~]# docker rmi debian
Untagged: debian:latest
[root@Qine ~]#
介绍一些常见命令
下面是几条docker管理命令:
sudo systemctl start docker (启动docker)sudo systemctl stop docker (停止docker)sudo systemctl restart docker (重启docker)sudo systemctl status docker (查看docker运行状态)
sudo systemctl disable docker (取消docker开机自启动)
sudo systemctl enable docker (开启docker开机自启动)
sudo docker run ... (后面跟具体参数,部署自己的docker服务)
sudo docker stop ... (后面跟docker服务名字,停.止对应服务)
sudo docker start ... (同理,启动对应服务)
sudo docker restart ... (重启对应服务)
sudo docker rm ... (移除对应服务)
sudo docker ps (查看正在运行的服务)
sudo docker image ls (查看已经下载的镜像)
sudo docker image rm ... (后跟镜像名称,删除对应镜像)
ᶘ ͡°ᴥ͡°ᶅ写完啦