【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