Docker的基本使用方法

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化,本篇文章重点为大家讲解一下Docker的基本使用方法。

安装Docker

root@jaking-virtual-machine:~# apt-get install -y docker-engine
Reading package lists... Done
Building dependency tree      
Reading state information... Done
...

root@jaking-virtual-machine:~# docker version
Client:
Version:           18.06.1-ce
API version:       1.38
Go version:        go1.10.4
Git commit:        e68fc7a
Built:             Fri Oct 19 19:43:14 2018
OS/Arch:           linux/amd64
Experimental:      false

Server:
Engine:
 Version:          18.06.1-ce
 API version:      1.38 (minimum version 1.12)
 Go version:       go1.10.4
 Git commit:       e68fc7a
 Built:            Thu Sep 27 02:39:50 2018
 OS/Arch:          linux/amd64
 Experimental:     false

root@jaking-virtual-machine:~# systemctl start docker
root@jaking-virtual-machine:~# systemctl enable docker
Synchronizing state of docker.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable docker

搜索ubuntu相关的容器

root@jaking-virtual-machine:~# docker search ubuntu
NAME                                                   DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
ubuntu                                                 Ubuntu is a Debian-based Linux operating sys…   8838                [OK]                
dorowu/ubuntu-desktop-lxde-vnc                         Ubuntu with openssh-server and NoVNC            247                                     [OK]
rastasheep/ubuntu-sshd                                 Dockerized SSH service, built on top of offi…   184                                     [OK]
consol/ubuntu-xfce-vnc                                 Ubuntu container with "headless" VNC session…   136                                     [OK]
ansible/ubuntu14.04-ansible                            Ubuntu 14.04 LTS with ansible                   95                                      [OK]
ubuntu-upstart                                         Upstart is an event-based replacement for th…   92                  [OK]

下载容器

root@jaking-virtual-machine:~# docker pull ubuntu-upstart
Using default tag: latest
latest: Pulling from library/ubuntu-upstart
8387d9ff0016: Pull complete
3b52deaaf0ed: Pull complete
4bd501fad6de: Pull complete
a3ed95caeb02: Pull complete
a6dc1658c730: Pull complete
9ed623dca71b: Pull complete
998ee72febf9: Pull complete
437038dc2fba: Pull complete
da0ee05a1a1d: Pull complete
1e1c3e99deb1: Pull complete
4fcc22d7b2a1: Pull complete
6c7dda5571e4: Pull complete
Digest: sha256:597dfb1868012dcd04a705572dbc1542cb7598bce0eaa1c2656eb3acfc8b51d2
Status: Downloaded newer image for ubuntu-upstart:latest

查看容器的镜像

root@jaking-virtual-machine:~# docker images ubuntu-upstart
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu-upstart      latest              b28219773b9b        2 years ago         253MB

从上面的结果可以看到,容器已经成功下载。利用下载的ubuntu-upstart容器,可以运行一个简单的程序,此处以“Hello Docker”为例:

root@jaking-virtual-machine:~# docker run ubuntu-upstart /bin/echo Hello Docker
Hello Docker

还可以使用其他容器,如使用ubuntu作为容器,下载操作如下:

root@jaking-virtual-machine:~# docker pull ubuntu
Using default tag: latest
latest: Pulling from library/ubuntu
32802c0cfa4d: Pull complete
da1315cffa03: Pull complete
fa83472a3562: Pull complete
f85999a86bef: Pull complete
Digest: sha256:6d0e0c26489e33f5a6f0020edface2727db9489744ecc9b4f50c7fa671f23c49
Status: Downloaded newer image for ubuntu:latest
root@jaking-virtual-machine:~# docker images ubuntu
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu              latest              93fd78260bd1        10 days ago         86.2MB

Docker的容器操作

当Docker中包含了容器,就如同虚拟机中安装了操作系统一样,可以运行、安装软件、做一些设置。现在就可以运行之前下载的ubuntu:

root@jaking-virtual-machine:~# docker run -i -t ubuntu /bin/bash#运行一个名为ubuntu的容器#i选项表示捕获标准输入和输出;t选项表示分配的终端和控制台
root@05559b460591:/#
root@05559b460591:/# uname -a
Linux 05559b460591 4.15.0-36-generic #39-Ubuntu SMP Mon Sep 24 16:19:09 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
root@05559b460591:/# exit#退出容器exit
root@jaking-virtual-machine:~# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

命令可以看到使用run命令运行了一个容器但退出之后容器也关闭了这不是想要的结果-这时可以使用选项d让容器一直在后台运行” data-source-line=”114″>从上面的命令可以看到,使用run命令运行了一个容器,但退出之后容器也关闭了,这不是想要的结果。这时可以使用选项d让容器一直在后台运行:

root@jaking-virtual-machine:~# docker run -d -i -t ubuntu /bin/bash
b19cc95aef9cb6f402062915b527864cf045debc65dbabd23a495cea32a138dd
root@jaking-virtual-machine:~# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS               NAMES
b19cc95aef9c        ubuntu              "/bin/bash"              15 seconds ago      Up 14 seconds                                   kind_johnson
05559b460591        ubuntu              "/bin/bash"              35 minutes ago      Exited (0) 9 minutes ago                        xenodochial_hypatia
5bc78fd29b2a        ubuntu-upstart      "/bin/echo Hello Doc…"   42 minutes ago      Exited (0) 42 minutes ago                       silly_jennings
c54bb6d664b7        ubuntu-upstart      "/bin/echo Hello Doc…"   44 minutes ago      Exited (0) 44 minutes ago                       jolly_thompson

从上面的命令输出可以看到一个ID为b19cc95aef9c的容器正在运行,这个ID号就是操作此容器的重要参数。 容器运行在后台时,可以使用attach登录正在运行的容器:

root@jaking-virtual-machine:~# docker attach b19cc95aef9c
root@b19cc95aef9c:/# exitexit
root@jaking-virtual-machine:~#

容器的操作还有很多命令,常用的操作还有:

docker cp :将容器中的文件复制到主机上
docker rm:删除一个容器
docker port:配置容器的端口转发
docker start:启动一个容器
docker stop:停止一个容器
docker top:显示容器中的进程
docker ps:列出容器
docker logs:获取容器的日志
除了以上这些操作外,Docker还有许多操作,可自行阅读相关文档了解。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/201603.html<

(0)
运维的头像运维
上一篇2025-04-05 20:21
下一篇 2025-04-05 20:22

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注