Docker学习笔记1
来源:第一本Docker书
基础命令
安装:
apt-get install docker
启动:
service docker start
创建并运行第一个容器:
docker run -i -t ubuntu /bin/bash
-i -t :提供交互的shell
查看启动的容器、所有容器:
docker ps
docker ps -a
重命名:
ps -a 可以看到我们的容器有个随机的名字cranky_lalande
efd4d3fff333 ubuntu:latest "/bin/bash" 15 minutes ago Up 7 seconds cranky_lalande
我们可以指定自己的名字:
docker run --name ubuntu_docker -i -t ubuntu /bin/bash
启动指定容器:
docker start ubuntu_docker
也可以根据id启动:
docker start efd4d3fff333
给后台容器添加会话(回车进入):
docker attach ubuntu_docker
守护式容器:
docker run --name daemon_docker -d ubuntu /bin/sh -c "while true;do echo hello docker;sleep 1;done;"
-d:后台运行
查看后台容器在干嘛:
docker logs ubuntu_docker
查看容器的进程:
docker top daemon_docker
停止守护式容器:
docker stop daemon_docker
自动重启容器:
docker run --restart=always --name daemon_docker_restart -d ubuntu /bin/sh -c "while true;do echo hello docker;sleep 1;done;"
无论容器的退出代码是什么都会自动重启,还可以指定:--restart=on-failure:5,当退出代码非0时重启,最多5次。
删除容器:
docker rm daemon_docker_restart
删除所有(我的报错,不能删除多个):
docker rm 'docker ps -a -q'
-a:列出所有
-q:只显示id
使用镜像
列出镜像:
docker images
注册docker hub (lanqiexh/k***1)
用户仓库:jone/ubunntu
顶层仓库:ubuntu
拉取镜像:
docker pull xx
查找镜像:
docker search kalilinux
构建镜像:
docker commit eaa1a6e0b320 lanqiexh/u_apache2
dockerfile
mkdir DockerLearn
vim Dockerfile #Version 0.0.1
From lanqiexh/u_apache2
MAINTAINER James Turn
RUN apt-get update
RUN apt-get install nginx -y
RUN echo 'Hi, I am in your container' > /usr/share/nginx/html/index.html
EXPOSE 80
最后要(空格和点)
docker build -t aaa/u_apache2 .
-t: 仓库/名称
还可以加标签:
aaa/u_apache2:v1
从新镜像启动容器:
docker run -d -p 80 --name web aaa/u_apache2 nginx -g "daemon off;"
-p: 指定80端口映射到宿主主机,
查看启动的容器:
docker ps -l
341fc8d3ca4c aaa/u_apache2:latest "nginx -g 'daemon of 6 minutes ago Up 5 minutes 0.0.0.0:32769->80/tcp web_u
宿主主机访问:http://0.0.0.0:32769/
可以访问到容器的服务
当然也可以指定宿主主机的端口:-p 8080:80
dockerfile指令
Docker学习笔记1的更多相关文章
- Docker学习笔记 — 配置国内免费registry mirror
Docker学习笔记 — 配置国内免费registry mirror Docker学习笔记 — 配置国内免费registry mirror
- docker学习笔记1 -- 安装和配置
技术资料 docker中文官网:http://www.docker.org.cn/ 中文入门课程:http://www.docker.org.cn/book/docker.html docker学习笔 ...
- Docker学习笔记之一,搭建一个JAVA Tomcat运行环境
Docker学习笔记之一,搭建一个JAVA Tomcat运行环境 前言 Docker旨在提供一种应用程序的自动化部署解决方案,在 Linux 系统上迅速创建一个容器(轻量级虚拟机)并部署和运行应用程序 ...
- docker~学习笔记索引
回到占占推荐博客索引 使用docker也有段时间了,写了不少文章与总结,下面把它整理个目录出来,方便大家去学习与检索! docker~学习笔记索引 docker~linux下的部署和基本命令(2017 ...
- Docker学习笔记 - Docker容器内部署redis
Docker学习笔记(2-4)Docker应用实验-redist server 和client的安装使用 一.获取redis容器(含客户端和服务端) 二.创建服务端容器 1.在终端A中运行redis- ...
- docker学习笔记(一)—— ubuntu16.04下安装docker
docker学习笔记(一)—— ubuntu16.04下安装docker 原创 2018年03月01日 14:53:00 标签: docker / ubuntu 1682 本文开发环境为Ubuntu ...
- Docker学习笔记总结
Docker学习笔记 https://yeasy.gitbooks.io/docker_practice/content/ 一 环境搭建 Ubuntu安装 .添加软件源的GPG密钥 curl -f ...
- docker学习笔记二:常用命令
docker学习笔记二:常用命令 查看docker常用命令 docker --help 返回结果如下: 其中常用的命令如下: 1.image相关操作 展示所有的image: 删除image: rmi ...
- docker学习笔记-1
docker学习笔记一:安装 mac安装docker docker官方文档上有这么一段话: Because the Docker daemon uses Linux-specific kernel f ...
- Docker:学习笔记(1)——基础概念
Docker:学习笔记(1)——基础概念 Docker是什么 软件开发后,我们需要在测试电脑.客户电脑.服务器安装运行,用户计算机的环境各不相同,所以需要进行各自的环境配置,耗时耗力.为了解决这个问题 ...
随机推荐
- threading:线程创建、启动、睡眠、退出
1.方法一:将要执行的函数作为参数传递给threading.Thread() import threading import time def func(n): global count time.s ...
- mysql主从模式下在主库上的某些操作不记录日志的方法
mysql主从模式下在主库上的某些操作不记录日志的方法 需求场景: 在主库上的需要删除某个用户,而这个用户在从库上不存在(我在接手一个业务的时候,就遇到主从架构用户授权不一致的情况,主库比较全,而从库 ...
- mysql执行update报错 Err] 1055 - 'information_schema.PROFILING.SEQ' isn't in GROUP BY
mysql执行update报错 Err] 1055 - 'information_schema.PROFILING.SEQ' isn't in GROUP BY 今天开发的同事发来如下错误信息,最最简 ...
- CentOS 6.x 最小化安装推荐安装的依赖包和修改内核参数
CentOS 6.x 最小化安装推荐安装的依赖包 我在日常工作中,新建的xenserver的虚拟机,CentOS release 6.9 (Final)操作系统,采用最小化安装,后续很多操作需要各种依 ...
- BZOJ4698 差分 + 二分 + SA
https://www.lydsy.com/JudgeOnline/problem.php?id=4698 题意:求N个字符串中最长的相同字串的长度,相同的定义是:两个子串长度相同且一个串的全部元素加 ...
- springboot定时任务处理
定时任务是一种很常见的应用场景,springboot中的定时任务完全用的spring的那一套,用起来比较简单,需要注意的是线程池配置的那一块 使用 @EnableScheduling 注解就可以开启定 ...
- java使用google开源工具实现图片压缩【转】
jar包名 import net.coobird.thumbnailator.Thumbnails; import net.coobird.thumbnailator.geometry.Positio ...
- MysqL_select for update锁详解
先来举一个在某些应用场景下会出现数据不一致的例子,当然存储引擎是InnoDB(至于为什么,后面再告诉你). 电商平台常见的下单场景: 一般商品表(goods)有基本的四个字段,id(主键),goods ...
- vue-router导航钩子
Vue路由中的导航钩子,可以用来拦截导航,让它完成跳转. 全局导航钩子 当一个导航触发时,全局的 before 钩子按照创建顺序调用.钩子是异步解析执行,此时导航在所有钩子 resolve 完之前一直 ...
- 在CentOS7上安装Zabbix3.0
#!/bin/bash # # .配置无人值守的安装,定义安装过程中需要用到的一些信息 # mysql_root_pw=root_pw mysql_zabbix_pw=zabbix_pw DBPass ...