之前闲暇之余有玩过一哈Dokcer容器,但是日子挺久了,然后挺多东西就忘记了,趁着今天有时间重拾一下docker的相关知识。

搜索下载镜像

docker search ubuntu

docker pull ubuntu

查看当前所有镜

docker images

启动容器

docker run -it ubuntu /bin/bash

参数说明:

-i: 交互式操作。

-t: 终端。

ubuntu: ubuntu 镜像。

/bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。

要退出终端,直接输入 exit:

查看所有运行的容器

docker ps -a

docker start 启动一个已停止的容器

docker start b750bbbcfd88

后台运行

在大部分的场景下,我们希望 docker 的服务是在后台运行的,我们可以过 -d 指定容器的运行模式。

$ docker run -itd --name ubuntu-test ubuntu /bin/bash

停止一个容器

$ docker stop <容器 ID>

重启一个容器

docker restart <容器 ID>

进入容器

在使用 -d 参数时,容器启动后会进入后台。此时想要进入容器,可以通过以下指令进入:

docker attach

docker exec:推荐大家使用 docker exec 命令,因为此退出容器终端,不会导致容器的停止。

导出容器

$ docker export 1e560fca3906 > ubuntu.tar

删除容器

docker rm -f 1e560fca3906

删除镜像

docker rmi -f 1e560fca3906

itgoyo@itgoyodeMacBook-Pro  ~  docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
wahyd4/aria2-ui latest be489116face 2 months ago 100MB
530353222/baidupcs-web 3.6.8 2e1114282001 2 months ago 40.1MB
mysql latest c7109f74d339 7 months ago 443MB
titpetric/netdata latest e75e93e28478 12 months ago 267MB
tomcat latest 1a51cb5e3006 12 months ago 462MB
nginx latest 7042885a156a 12 months ago 109MB
mysql 5.7.23 1b30b36ae96a 15 months ago 372MB
haocen/hexo-with-hexo-hey latest e619af3ff3ea 2 years ago 332MB

第一列就是镜像的名称,例如我要删除ubuntu的镜像的话,就输入docker rmi IMAGE ID

注意点:

  1. 删除前需要保证容器是停止的 stop

  2. 需要注意删除镜像和容器的命令不一样。 docker rmi ID , 其中 容器 (rm) 和 镜像 (rmi)

  3. 顺序需要先删除容器

删除所有停止的容器

docker container prune

删除所有不是用的镜像

docker image prune --force --all或者docker image prune -f -a

启动容器的步骤

docker run -itd --name itgoyo-ubuntu ubuntu /bin/bash
docker exec -it itgoyo-ubuntu bin/bash
以下表示进入容器成功
root@95588eaee9f4:/# ls
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
root@95588eaee9f4:/#

SSH

查看当前的 ubuntu 是否安装了 ssh-server 服务。默认只安装 ssh-client 服务。

dpkg -l | grep ssh

安装 ssh-server 服务

sudo apt-get install openssh-server

确认 ssh-server 是否启动了:

ps -e | grep ssh

如果看到 sshd 那说明 ssh-server 已经启动了。

如果没有则可以这样启动:sudo /etc/init.d/ssh start 或 sudo service ssh start

配置相关:

ssh-server 配置文件位于 /etc/ssh/sshd_config,在这里可以定义 SSH 的服务端口,默认端口是 22,你可以自己定义成其他端口号,如 222。(或把配置文件中的”PermitRootLogin without-password” 加一个”#” 号,把它注释掉,再增加一句”PermitRootLogin yes”)

然后重启 SSH 服务:

sudo /etc/init.d/ssh stop

sudo /etc/init.d/ssh start

登陆 SSH(Linux)

ssh username@192.168.1.103

其中,username 为 192.168.1.103 机器上的用户,需要输入密码。

断开连接:exit


    发现更多更好玩的,欢迎关注我的微信公众号:<span style='color:red;'> FullStacker </span><br />

    <Br>
<img src="https://cdn.jsdelivr.net/gh/itgoyo/PicGoRes@master/img/fullstacker.png"
height="400px" width="400px" />
</div>

Docker造化钟神秀的更多相关文章

  1. docker——容器安装tomcat

    写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...

  2. Docker笔记一:基于Docker容器构建并运行 nginx + php + mysql ( mariadb ) 服务环境

    首先为什么要自己编写Dockerfile来构建 nginx.php.mariadb这三个镜像呢?一是希望更深入了解Dockerfile的使用,也就能初步了解docker镜像是如何被构建的:二是希望将来 ...

  3. Docker 第一篇--初识docker

    已经多年不写博客, 看完<晓松奇谈>最后一期猛然觉醒, 决定仔细梳理下自己这几年的知识脉络. 既然决定写, 那么首先就从最近2年热门的开源项目Docker开始.Docker 这两年在国内很 ...

  4. 在docker中运行ASP.NET Core Web API应用程序(附AWS Windows Server 2016 widt Container实战案例)

    环境准备 1.亚马逊EC2 Windows Server 2016 with Container 2.Visual Studio 2015 Enterprise(Profresianal要装Updat ...

  5. docker for mac 学习记录

    docker基本命令 docker run -d -p 80:80 --name webserver nginx 运行容器并起别名 docker ps 展示目前启动的容器 docker ps -a 展 ...

  6. scrapy爬虫docker部署

    spider_docker 接我上篇博客,为爬虫引用创建container,包括的模块:scrapy, mongo, celery, rabbitmq,连接https://github.com/Liu ...

  7. [原][Docker]特性与原理解析

    Docker特性与原理解析 文章假设你已经熟悉了Docker的基本命令和基本知识 首先看看Docker提供了哪些特性: 交互式Shell:Docker可以分配一个虚拟终端并关联到任何容器的标准输入上, ...

  8. 开发者的利器:Docker 理解与使用

    困扰写代码的机器难免会被我们安装上各种各样的开发工具.语言运行环境和引用库等一大堆的东西,长久以来不仅机器乱七八糟,而且有些相同的软件还有可能会安装不同的版本,这样又会导致一个项目正常运行了,却不小心 ...

  9. 使用python自动生成docker nginx反向代理配置

    由于在测试环境上用docker部署了多个应用,而且他们的端口有的相同,有的又不相同,数量也比较多,在使用jenkins发版本的时候,不好配置,于是想要写一个脚本,能在docker 容器创建.停止的时候 ...

随机推荐

  1. 【转载】Java的Vector,ArrayList,LinkedList

    首先看这两类都实现List接口,而List接口一共有三个实现类,分别是ArrayList.Vector和LinkedList.List用于存放多个元素,能够维护元素的次序,并且允许元素的重复.3个具体 ...

  2. Go语言基础之结构体(面向对象编程上)

    1 自定义类型和类型别名 1.1 自定义类型 Go语言中可以基于一些基本的数据类型,使用type关键字定义自定义类型的数据 . 自定义类型定义了一个全新的类型,该新类型具有基本数据类型的特性.自定义类 ...

  3. js面试相关

    〇,字符串,数值,数组的转化 (0)检测数据类型 参考连接:http://www.cnblogs.com/onepixel/p/5126046.html 1,, typeof 操作符 :  能检测到( ...

  4. Python requests 调Jenkins登录接口,返回404,但请求地址、请求头、消息主题和抓包的内容都一样

    #coding=utf-8import requests url = "http://localhost:8080/jenkins/j_acegi_security_check"h ...

  5. windows的启动、引导配置

    Win+S -> msconfig

  6. Elasticsearch之文档的增删改查以及ik分词器

    文档的增删改查 增加文档 使用elasticsearch-head查看 修改文档 使用elasticsearch-head查看 删除文档 使用elasticsearch-head查看 查看文档的三种方 ...

  7. Bellman-ford算法 无向图

    // 单源最短路问题 // Bellman-Ford算法 // 复杂度O(V*E) //! 可以判断负圈 #include <cstdio> #include <iostream&g ...

  8. 关于非旋转Treap

    刚刚跟着EM-LGH大佬学了非旋转Treap 非常庆幸不用再写万恶的rotate了(来自高级数据结构的恶意) 来记一下 Treap 概念 简单来说,\(Tree_{二叉搜索树} * Heap_堆 = ...

  9. C语言 getchar

    C语言 getchar getchar是从标准输入设备读取一个char. 案例 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #in ...

  10. pyqt5加载pdf文档失败

    import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QFileDialog from PyPDF2 import Pdf ...