之前闲暇之余有玩过一哈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. Idea生成代码段

    使用快捷键(ctrl+alt+s)找到:从idea的菜单File->Settings->Editor->Live Templates 先添加Template Group,然后添加Li ...

  2. CNN目标检测系列算法发展脉络——学习笔记(一):AlexNet

    在咨询了老师的建议后,最近开始着手深入的学习一下目标检测算法,结合这两天所查到的资料和个人的理解,准备大致将CNN目标检测的发展脉络理一理(暂时只讲CNN系列部分,YOLO和SSD,后面会抽空整理). ...

  3. 面试突击 | Redis 如何从海量数据中查询出某一个 Key?附视频

    1 考察知识点 本题考察的知识点有以下几个: Keys 和 Scan 的区别 Keys 查询的缺点 Scan 如何使用? Scan 查询的特点 2 解答思路 Keys 查询存在的问题 Scan 的使用 ...

  4. 题解【[USACO05NOV]奶牛玩杂技】

    \[ \texttt{Description} \] 有 \(n\) 头牛,每头牛都有自己的体重 \(W_i\) 和力量 \(S_i\) . 将这 \(n\) 头牛摞在一起,每头牛的压扁指数定义为:压 ...

  5. fancybox图片灯箱功能

    fancybox图片灯箱功能 在页面中引入几个文件 <script src="https://cdn.jsdelivr.net/npm/jquery@3.4.1/dist/jquery ...

  6. SparkShuffle机制

    在早期版本的Spark中,shuffle过程没有磁盘读写操作,是纯内存操作,后来发现效率较低,且极易引发OOME,较新版本的Shuffle操作都加入了磁盘读写进行了改进. 1.未经优化的HashShu ...

  7. [Contract] Solidity 变量类型的默认值

    变量的默认值一般都代表 “零值”. 比如 bool 就是 false,uint.int 就是 0,string 就是空字符串. 其它组合的参考 Solidity 判断 mapping 值的存在 Ref ...

  8. Python中verbaim标签使用详解

    verbatim标签:默认在"DTL"模板中是会去解析那些特殊字符串的,比如{% 和 %}以及{{等.如果你在某个代码片段中不想使用"DTL"的解析引擎,那么就 ...

  9. vuex的state选项rootState.js

    说明:本文做为vuex学习详细解(主页目录 配置主页:vuex学习配置详解(目录rootState.js文件如下 作用声明 vuex的state选项常量,并导出默认为state /** * 此文件除声 ...

  10. LeetCode 面试题 02.01. 移除重复节点

    编写代码,移除未排序链表中的重复节点.保留最开始出现的节点. 示例1: 输入:[1, 2, 3, 3, 2, 1] 输出:[1, 2, 3]示例2: 输入:[1, 1, 1, 1, 2] 输出:[1, ...