#安装docker
yum -y install docker
systemctl start docker.service
systemctl status docker
systemctl enable docker
docker ps #查看启动的docker
docker ps -a #查看所有docker
docker images #查看镜像
docker search mysql #搜索网络上的mysql
docker pull centos:7 #下载镜像
docker rmi centos:7
docker rmi ID #删镜像
docker rm #删容器
docker run -it centos:7 /bin/bash #启动容器
docker run -itd centos:7 /bin/bash #后台启动
mkdir test
#进入容器
docker exec -it 609bd39cdc18 /bin/bash
此时容器较镜像已经发生改变,我们以此生成新镜像
docker commit 0e60561500fc centos:7v1 #生成新的镜像
基于模板导出和导入镜像
docker save -o centos_7v1.tar centos:7v1
#把镜像传到客户端
scp centos_7v1.tar 192.168.182.140:/root
#在客户端加载镜像
docker load -i centos_7v1.tar
docker run -it centos:7v1 /bin/bash #启动
创建dockerfile
mkdir 123 #在root下新建123
新建docker文件
#vim dockerfile
FROM centos:7
RUN yum install -y tree
copy hello /root/
touch hello #新建hello
docker build -t centos:7 /root/123/
或者:docker build -t centostest . #创建镜像
build:创建镜像
-t:为镜像指定名字
.:指明 build context 为当前目录,我们也可以通过 -f 参数指定 Dockerfile 的位置
docker run -it centos:7 /bin/bash #启动检验
docker history id
![]()
#创建dockerfile
FROM:指定 base 镜像。
MAINTAINER:设置镜像的作者,可以是任意字符串
WORKDIR:为后面的 RUN, CMD, ENTRYPOINT, ADD 或 COPY 指令设置镜像中的当前工作目录。
RUN:在容器中运行指定的命令,RUN 指令通常用于安装应用和软件包。
ADD:与 COPY 类似,从 build context 复制文件到镜像。不同的是,如果 src 是归档文件(tar, zip, tgz, xz 等),文件会被自动解压到 dest。
COPY:将文件从 build context 复制到镜像。
COPY 支持两种形式:
COPY src dest
COPY ["src", "dest"]
注意:src 只能指定 build context 中的文件或目录。
ENV:设置环境变量,环境变量可被后面的指令使用。例如:
... ENV MY_VERSION 1.3
RUN apt-get install -y mypackage=$MY_VERSION
mkidr docker1
cd docker1
touch tmpfile2
touch a b c
tar zcf test.tar.gz a b c
vim dockerfile
#my dokerfile
FROM centos:7
MAINTAINER abc
WORKDIR /testdir
RUN touch tmpfile1
COPY ["tmpfile2","."]
ADD ["test.tar.gz","."]
ENV WELCOME "you are im my container.welcome!"
![]()
docker build -t centos_test:7 . #创建镜像centos_test:7
docker images #查看镜像
![]()
docker history ID #查看centos_test的动作
docker run -it 0b02569e7874 /bin/bash #启动容器并查看
![]()
#删除未启动容器
for id in `docker ps -a | grep Exited | awk '{print $1}' `;do docker rm $id ;done
for id in `docker ps -aq`;do docker rm -f $id;done
#以后台守护进程(Daemonized)形态运行 用-d参数实现
docker run -dti docker.io/centos:7
# 启动停止的容器
docker start 08bc41e77b01
#重启容器
docker restart 08bc41e77b01
#停止 容器
docker stop 08bc41e77b01
#进入容器
docker attach 08bc41e77b01
#查看容器日志
docker logs -f 9da0a7876f06
#暂停容器
docker pause 9da0a7876f06
#取消暂停继续运行容器
docker unpause 9da0a7876f06
导入和导出容器
a. 导出容器:导出一个已经创建的容器到文件,不管容器是否运行
#docker ps -a
假设当前系统中有两个处于运行和停止状态的容器
#docker export ID > *.tar
#ls
b.将容器导入系统成为镜像
#cat *.tar | docker import - test
#所有docker运行的相关文件
/var/lib/docker/
- Docker容器入门-基本命令的使用
目前容器技术使用相当广泛 不会或者没有使用过容器感觉都不像是个搞技术的 所以,我也就docker相关内容做一个整理 只有不断的学习,才能保持自己的竞争力 什么是容器? 容器是一种轻量级.可移植.自包含 ...
- Docker容器基本命令注意点
Docker 容器基本命令注意点 前言: a. 本文主要为 Docker的视频教程 笔记. b. 本机环境为 Windows 10 专业版,使用的命令行为 PowerShell. 1. docker ...
- Docker基本命令与使用 —— Docker容器的网络连接(四)
一.Docker容器的网络基础 通过ifconfig查看docker0的网络设备,docker守护进程就是通过docker0为docker的容器提供网络连接的各种服务. docker0是Linux虚拟 ...
- Docker容器中开始.NETCore之路
一.引言 开始写这篇博客前,已经尝试练习过好多次Docker环境安装,.Net Core环境安装了,在这里替腾讯云做一个推广,假如我们想学习.练手.net core 或是Docker却苦于没有开发环境 ...
- Docker容器中开始.Net Core之路
开始写这篇博客前,已经尝试练习过好多次Docker环境安装,.Net Core环境安装了,在这里替腾讯云做一个推广,假如我们想学习.练手.net core 或是Docker却苦于没有开发环境,服务器也 ...
- docker技术之基本命令
我们使用基本命令之前,先来普及一下操作中使用的基本概念 镜像 image 容器 container 仓库 repository 镜像 Docker 镜像是一个特殊的文件系统,除了提供容器运 ...
- docker容器学习笔记
docker是通过内核虚拟化技术来提供容器的资源隔离与安全保障. docker组成: docker client.docker server.docker组件(镜像(image).容器(contain ...
- 基于spring-boot和docker-java实现对docker容器的动态管理和监控[附完整源码下载]
(我是个封面) docker简介 Docker 是一个开源的应用容器引擎,和传统的虚拟机技术相比,Docker 容器性能开销极低,因此也广受开发者喜爱.随着基于docker的开发者越来越多,doc ...
- Linux环境基于CentOS7 搭建部署Docker容器
1.Docker容器概述 区分Docker容器技术和VM虚拟机技术: evernotecid://394EFE90-9CE0-4D65-A8CD-DFEC0DC8061E/appyinxiangcom ...
随机推荐
- Win10-1909删除自带的微软输入法,添加美式键盘
删除自带 输入法切换
- frp杀毒软件报毒?
原文地址:https://wuter.cn/1909.html/ 部分用户下载frp之后,windows defender可能会报毒,并且自动删除内网穿透主程序,导致无法穿透. 首先看一下报毒的原理是 ...
- Prometheus从入门到精通:一、部署
一.Prometheus是什么? prometheus是一个开源指标监控解决方案,指标就是指的CPU的使用率.内存使用率等数据. 二.Prometheus的架构 这里直接粘贴官网的架构图: 三.安装 ...
- JDK8-日期时间新方式
日期时间新方式 在日常开发中,对于日期操作是非常常见的,但是对于有经验的开发人员来说Java8之前的日期操作是有较大问题 的.比方说SimpleDateFormat.但是在Java8之后提出了Da ...
- 如何理解java枚举,看例子
先来看一下不用枚举怎么表示常量: //常量类 class Num { public static String ONE = "ONE"; public static String ...
- ReentrantLock显示锁
public class AttemptLocking { /* * public AttemptLocking() { * * System.out.println("构造器初始化...& ...
- Java中几种常见的循环
多重if_else: package com.dengchaoqun.ht; public class Double_For02 { /** * * 打印乘法表 */ public static vo ...
- 一张图看懂sql的各种join
下图展示了 LEFT JOIN.RIGHT JOIN.INNER JOIN.OUTER JOIN 相关的 7 种用法.
- LAMP搭建 转
LAMP搭建 LAMP环境配置安装注意安装步骤及说明事项. (一) 安装gcc gcc glibc-devel glibc-headers kernel-headers libgo ...
- 3.k8s存储之ConfigMap、Secret
1.ConfigMap ConfigMap 功能在 Kubernetes1.2 版本中引入,许多应用程序会从配置文件.命令行参数或环境变量中读取配置信息.ConfigMap API 给我们提供了向容器 ...