【Docker】docker的介绍、安装及使用教程

0.什么是docker?

Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、 bare metal、OpenStack 集群和其他的基础应用平台。

Docker通常用于如下场景:
 web应用的自动化打包和发布;
 自动化测试和持续集成、发布;
 在服务型环境中部署和调整数据库或其他的后台应用;
 从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境。

上面两段文字引用自参考文献[1]。

1.安装docker并查看状态

1.1 docker安装

在终端执行命令

curl -sSL https://get.daocloud.io/docker | sh

1.2 查看docker服务状态

终端执行:

systemctl status docker

当显示输出:

Active: active (running)

表明已经启动,否则则需要执行下面的命令来启动:

systemctl start docker

2.制作自己的镜像

2.1 从远程仓库拉取Ubuntu 18.04 LTS的镜像

我们一般并不建议大家从头进行所有的工作,大家可以Pull一个已经发布的功能相对完善的镜像,在其基础上进行我们自己的开发工作,这可以大大节约我们的开发时间。

由于docker默认的源为国外官方源,下载速度较慢,可改为国内,加速
修改或新增 /etc/docker/daemon.json, 终端执行:

sudo vim /etc/docker/daemon.json

修改或添加的内容为:

{
    "registry-mirrors": ["https://registry.docker-cn.com","http://hub-mirror.c.163.com"]
}

保存后终端执行:

systemctl restart docker.service

而后,拉取镜像(之所以选择这个镜像,是因为可以使用这个镜像结合VNC-Viewer方便的进行可视化显示):

 sudo docker pull dorowu/ubuntu-desktop-lxde-vnc:bionic

拉取完成后,可以看到

Status: Downloaded newer image for dorowu/ubuntu-desktop-lxde-vnc:bionic
docker.io/dorowu/ubuntu-desktop-lxde-vnc:bionic

查看我们的docker镜像,终端执行:

sudo docker images

此时输出

fire@fire-P7xxTM1:~$ sudo docker images
REPOSITORY                       TAG                 IMAGE ID            CREATED             SIZE
dorowu/ubuntu-desktop-lxde-vnc   bionic              16ac25e8daa0        9 months ago        1.06GB

2.2 创建容器

终端执行:

sudo docker run -dit --name=容器名 镜像ID /bin/bash

查看当前所有的容器:

fire@fire-P7xxTM1:~$ sudo docker ps -a 
CONTAINER ID        IMAGE                            COMMAND                  CREATED             STATUS                    PORTS               NAMES
8dacd0d37b89        16ac25e8daa0                     "/startup.sh /bin/ba…"   55 seconds ago      Up 54 seconds (healthy)   80/tcp              xtdrone_melodic

xtdrone_melodic就是我们上面命令所设置的荣启铭,您可以根据自己的镜像用途来进行命名,最好是有实际意义的名字。

2.3 容器的使用

方式1
启动容器

sudo docker start  容器名

进入容器,这时可以在宿主机器上通过命令行来控制并使用docker容器

sudo docker exec -it 容器名  /bin/bash

我们可以使用VNC-viewer来使用GUI来操作容器

wget https://www.realvnc.com/download/file/viewer.files/VNC-Viewer-6.19.107-Linux-x64
chmod +x VNC-Viewer-6.19.107-Linux-x64 
./VNC-Viewer-6.19.107-Linux-x64 

在VNC-Viewer中输入地址如下进行连接,以可视化操作

127.0.0.1:5900

方式2
当然,也可以直接这样来启动一个容器来运行镜像,不过这时,系统会随机创建一个容器名:

sudo  docker run -p 6080:80 -p 5900:5900 -v /dev/shm:/dev/shm 镜像名

您也可以通过增加运行选项-e RESOLUTION=1920x1080来指定docker中的分辨率:

sudo  docker run -p 6080:80 -p 5900:5900 -e RESOLUTION=1920x1080  -v /dev/shm:/dev/shm 镜像名

在VNC-Viewer中输入地址如下进行连接,以可视化操作

127.0.0.1:5900

2.4 制作镜像

方式1
制作自己的镜像

sudo docker commit -m '镜像描述' -a '作者' 容器名 目标镜像名

这种方式制作的镜像可以发布到docker服务器上。
方式2
我们也可以将容器导出为tar格式镜像,可以很方便地在多台计算机之间迁移。

 sudo docker  save  -o  目标镜像名.tar 容器名称

加载tar格式的镜像

sudo docker load < 镜像名.tar

3.docker常用命令

1.查看容器相关信息

sudo docker inspect  容器名

2.容器重命名

docker rename 原容器名 新容器名

3.删除镜像

sudo docker rmi 镜像名

4.删除容器

sudo docker rm 容器名

5.从宿主机器拷贝文件到docker容器

sudo docker cp 宿主机器路径及文件 容器ID:容器存放路径

6.push镜像到docker 服务器

docker tag local-image:tagname new-repo:tagname
docker push new-repo:tagname

4.参考文献:

1.王春生, 什么是Docker?
2.docker 制作自己的镜像
3.如何在Linux上创建,列出和删除Docker容器
4.Ubuntu如何安装vncserver

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章