Docker 概述

Docker 是一个开源的应用容器引擎,Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。

Docker 基本概念

  • 镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。
  • 容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
  • 仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像。

Docker 安装

在平时学习过程中,接触到docker,开发也介绍,docker比虚拟机好用很多,所以自己就开始捣鼓捣鼓。docker与虚拟机相比,确实轻便许多。刚开始是在windows环境下搭建,但系统是专业版,使用网上的方法搭建,就是没有成功。所以就用了如下这种方法。好了,那我们就开始搭建docker环境吧。

Windows Docker 安装

1. 下载docker toolbox

下载地址:docker toolbox ,选择docker toolbox.exe下载

2. 安装docker toolbox

双击下载的安装包,一路 next 即可。安装后成功后,电脑桌面会出现如下图标:

3. docker初始化

双击如上步骤中的图标,会初始化docke,最后出现如下截图,初始化完毕进入docker命令模式。

Ubuntu Docker 安装

在windows环境学习过程中,环境时不时就出了问题,然后自己也要用到linux系统,赶上阿里云服务器的活动,索性就整了台服务器,学习那就更方便了。linux系统搭建docker很简单,我们来看。

1. apt-get update

使用命令 apt-get update 更新源

2. apt-get install docker

使用命令 apt-get install docker 安装即可,安装后用命令 docker run hello-world 验证是否安装成功,打印出以下信息则安装成功。

root@iZuf6hobanx6hbvtsep8ykZ:/# docker run hello-world

Unable to find image 'hello-world:latest' locally

latest:Pulling from library/hello-world

0e03bdcc26d7:Pull complete

Digest: sha256:7f0a9f93b4aa3022c3a4c147a449bf11e0941a1fd0bf4a8e6c9408b2600777c5

Status: Downloaded newer image for hello-world:latest

Hello from Docker! This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub. (amd64)
3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal.

To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID: https://hub.docker.com/

For more examples and ideas, visit: https://docs.docker.com/get-started/

Docker 基本命令

docker使用,肯定离不开命令的操作,接下来就列举下,我近期在学习过程中用到的基本命令。

docker run 命令

创建一个新的容器并运行一个命令

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

  • 选项参数

    • -d: 后台运行容器,并返回容器ID;
    • -i: 以交互模式运行容器,通常与 -t 同时使用;
    • -P: 随机端口映射,容器内部端口随机映射到主机的端口
    • -p: 指定端口映射,格式为:主机(宿主)端口:容器端口
    • -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
    • --name="jenkins": 为容器指定一个名称。

Docker start/stop/restart 命令

docker start :启动一个或多个已经被停止的容器
docker stop :停止一个运行中的容器
docker restart :重启容器

docker start [OPTIONS] CONTAINER [CONTAINER...]
docker stop [OPTIONS] CONTAINER [CONTAINER...]
docker restart [OPTIONS] CONTAINER [CONTAINER...]

启动已被停止的容器jenkins

docker start jenkins

停止运行中的容器jenkins

docker stop jenkins

重启容器jenkins

docker restart jenkins

Docker rm 命令

docker rm :删除一个或多个容器。

Docker kill 命令

docker kill :杀掉一个运行中的容器。

  • 选项参数

    • -s :向容器发送一个信号

Docker exec 命令

docker exec :在运行的容器中执行命令。

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

Docker ps 命令

docker ps : 列出容器

docker ps [OPTIONS]

  • 选项参数

    • -a :显示所有的容器,包括未运行的。
    • -f :根据条件过滤显示的内容。
    • -l :显示最近创建的容器。
    • -n :列出最近创建的n个容器。
    • -q :静默模式,只显示容器编号。
    • -s :显示总的文件大小。

Docker cp 命令

docker cp :用于容器与主机之间的数据拷贝。

docker cp [OPTIONS] CONTAINER:SRCPATH DESTPATH|-
docker cp [OPTIONS] SRCPATH|- CONTAINER:DESTPATH

将主机/www/phpwind目录拷贝到容器975705051af9的/www目录下。

docker cp /www/phpwind 975705051af9:/www/

将容器975705051af9的/www目录拷贝到主机的/tmp目录中。

docker cp 975705051af9:/www /tmp/

Docker pull 命令

docker pull : 从镜像仓库中拉取或者更新指定镜像.

docker pull [OPTIONS] NAME[:TAG|@DIGEST]

Docker images 命令

docker images : 列出本地镜像。

docker images [OPTIONS] [REPOSITORY[:TAG]]

Docker rmi 命令

docker rmi : 删除本地一个或多少镜像。

docker rmi [OPTIONS] IMAGE [IMAGE...]

问题总结

1. 安装失败

报错提示:Installation failed:one prerequisite is not fullfilled,如下所示:

问题原因:版本冲突。

解决办法:用文中的windows环境安装步骤搭建即可。

2. 启动docker失败

报错提示:Looks like something went wrong in step ´Finalize´

解决办法:到docker安装目录,找到start.sh启动文件,将clear注释掉,重新启动即可。

STEP="Finalize"
clear
cat << EOF

Docker系列——Docker安装&基础命令的更多相关文章

  1. Docker系列一之基础快速入门企业实战

    1.1什么是LXC LXC为Linux Container的简写.Linux Container容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚 ...

  2. Docker系列(一)安装

    操作系统版本:Centos7 Docker版本:1.8 设置安装源 1  cat > /etc/yum.repos.d/docker.repo << -EOF 2  [dockerr ...

  3. docker 系列 - Docker 安装和Hub Mirror地址设置

    ======================为什么要使用Docker?======================= 容器真是个好东西, (1)容器能提供隔离性; (2)容器能打包环境, 简化部署难度 ...

  4. docker下centos安装ping命令

    https://blog.csdn.net/king_gun/article/details/78423115 [问题] 从docker hub上拉取到则镜像centos:6.7在执行ping命令是报 ...

  5. 【docker】 docker容器内部安装vi命令

    有时会需要在docker容器内使用vi命令,但是新启动的docker容器内并没有vi命令,那就需要自己安装一个 1.使用命令 apt-get update 2.进行安装 apt-get install ...

  6. docker的基本安装和命令详解

    docker的安装 yum install docker-io docker的启动 /bin/systemctl start docker.service docker查找镜像 docker sear ...

  7. Docker 使用笔记-常用基础命令

    常用基础命令 环境:Linux Ubuntu 1.查看docker信息 docker version | docker info 2.启动docker服务 sudo systemctl start d ...

  8. Docker 镜像管理及基础命令(二)

    Docker 常用命令: ## Docker 登录下载镜像: docker login # 登录官方hub.docker.com docker pull nginx:alpine # 下载nginx的 ...

  9. Docker Compose的安装及命令补全

    安装Compose Compose的安装有多种方式,例如通过shell安装.通过pip安装.以及将compose作为容器安装等等.本文讲解通过shell安装的方式.其他安装方式如有兴趣,可以查看Doc ...

随机推荐

  1. 服务器入侵应急响应排查(Linux篇)

    总体思路 确认问题与系统现象 → 取证清除与影响评估 → 系统加固 → 复盘整改 常见入侵 ① 挖矿: 表象:CPU增高.可疑定时任务.外联矿池IP. 告警:威胁情报(主要).Hids.蜜罐(挖矿扩散 ...

  2. 挖地雷dp c++

    // // Created by Arc on 2020/4/27. // /*题文: * 在一个地图上有n个地窖 * ,每个地窖中没有一定数量的地雷, * 同时给出地窖之间连接的路径, * 并规定路 ...

  3. PHP Cookie是什么

    PHP Cookie cookie 常用于识别用户. Cookie 是什么? cookie 常用于识别用户.cookie 是一种服务器留在用户计算机上的小文件.每当同一台计算机通过浏览器请求页面时,这 ...

  4. PHP utf8_decode() 函数

    定义和用法 utf8_decode() 函数把 UTF-8 字符串解码为 ISO-8859-1.高佣联盟 www.cgewang.com 该函数把通过 utf8_encode() 函数编码的 ISO- ...

  5. 小甲鱼零基础汇编语言学习笔记第二章之寄存器(CPU工作原理,CPU内部通讯)

    这一章主要介绍了CPU中的重要器件——寄存器,整个系列通篇是以8086CPU作为探讨对象,其它更高级的CPU都是在此基础之上进行的升级.   1.一个典型的CPU是由运算器.控制器.寄存器等器件组成, ...

  6. win10 安装tensorflow2.0 GPU版本遇到的坑

          背景:我的机器上tensorflow 1.14 & 2.0,这俩版本都有,之前都是用1.14版本,今天试一下2.0尝尝鲜, 结果就掉坑去了 把CUDA10.1 和 cudnn 安装 ...

  7. nodeJs + js 大文件分片上传

    简单的文件上传 一.准备文件上传的条件: 1.安装nodejs环境 2.安装vue环境 3.验证环境是否安装成功 二.实现上传步骤 1.前端部分使用 vue-cli 脚手架,搭建一个 demo 版本, ...

  8. 001_centos7下比特币源码编译安装

    今天我们介绍比特币的源码安装过程,是利用编译安装的 首先安装依赖 yum install -y boost-devel qt-devel protobuf-devel qrencode-devel l ...

  9. 019_go语言中的方法

    代码演示 package main import "fmt" type rect struct { width, heigh int } func (r *rect) area() ...

  10. Linux学习笔记之linux的文件目录结构

    Linux环境下,一切皆文件! linux和windows系统有区别, windows是在各个硬盘上进行分区,分区里面又有好多文件, 而linux是采用树状的目录结构,所有都在根目录  /  下,所有 ...