参考阿里云文档:https://help.aliyun.com/document_detail/51853.html?spm=a2c4g.11186623.6.820.RaToNY

参考菜鸟教程文档:https://m.runoob.com/docker/centos-docker-install.html

Docker的目标之一就是缩短代码从开发、测试到部署、上线运行的周期。通俗一点说,Docker就像一个盒子,里面可以装很多物件,如果需要这些物件的可以直接将该大盒子拿走,而不需要从该盒子中一件件的取。它的优点就在于:1.实现虚拟化,更好的资源隔离和共享。2.一次编写,四处运行

容器与虚拟机比较

Docker安装与基本命令

  安装:yum install docker

  查看版本:docker -v

  启动:systemctl start docker

  停止:systemctl stop docker

  重启:systemctl restart docker

  查看状态:systemctl status docker

  开机启动:systemctl enable docker

  查看docker概要信息:docker info

  查看docker帮助文档:docker –help

卸载docker

  1. 卸载 yum remove docker      docker-common     docker-selinux      docker-engine
  2. 删除docker 镜像     rm -rf /var/lib/docker
  3. 搜索,什么都没有就卸载干净了  yum list installed|grep docker

Docker镜像操作

  3.1 搜索镜像:docker search 镜像名称     例如:docker search centos   docker search mysql     docker search  tomcat

  3.2 下载镜像:docker pull 镜像名称         因为docker镜像仓库在国外下载起来巨慢,所以我们需要使用国内的镜像地址。

// 1. 编辑该文件,如果没有就先创建
vim /etc/docker/daemon.json
// 2. 加入下面配置
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
// 3. 重启docker

  下载zookeeper:       docker pull zookeeper

  3.3 查看本地所有镜像:docker images

  

    * REPOSITORY:镜像所在的仓库名称

  * TAG:镜像标签

  * IMAGE ID:镜像ID

  * CREATED:镜像的创建日期(不是获取该镜像的日期)

  * SIZE:镜像大小

  * 这些镜像都是存储在Docker宿主机的/var/lib/docker目录下

  3.4 删除  删除指定镜像:  docker rmi -f 镜像id       删除所有镜像: docker rmi -f `docker images -q`

Docker容器操作

创建容器常用的参数说明:

4.1创建容器命令:docker run

   -i:表示运行容器       -t:表示容器启动后会进入其命令行      加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。

--name :为创建的容器命名

   -v:表示目录映射关系(数据需要持久化的最好都映射下,容器被删掉之后下次新建的映射目录相同的话,数据可以直接使用;比如mysql。) 前者是宿主机目录,后者是映射到容器上的目录, 可以使用多个-v做多个目录或文件映射。

-d:在run后面加上-d参数这样创建容器后不会自动登录容器

   -p:表示端口映射;前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射

  4.2查看容器命令:

  查看正在运行的容器:       docker ps

  查看历史运行过的容器 :  docker ps -a

  查看最后一次运行的容器:docker ps -l

  查看停止的容器:         docker ps -f status=exited

  进入运行的容器中:     docker exec -it 容器id/容器名称 /bin/bash

  4.3创建容器的两种方式:

// 查看所有镜像
[root@VM_0_3_centos /]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/centos latest 75835a67d134 3 days ago 200 MB
docker.io/nginx latest be1f31be9a87 10 days ago 109 MB
docker.io/redis latest 0a153379a539 10 days ago 83.4 MB
docker.io/solr latest 45749c8baa2a 2 weeks ago 834 MB
docker.io/zookeeper latest 89f7884dcc4e 3 weeks ago 148 MB
docker.io/tomcat latest 41a54fe1f79d 4 weeks ago 463 MB
docker.io/mysql latest 6a834f03bd02 5 weeks ago 484 MB
[root@VM_0_3_centos /]#
/**
* 创建一个交互式容器(创建完成直接启动并进入容器,exit退出会自动关闭)
* 容器名称不能重复
* 命名为mycentos,来源于centos镜像,版本为latest /bin/bash是命令解析器(加了就能直接进入容器命令行)
*/
[root@VM_0_3_centos /]# docker run -it --name=mycentos centos:latest /bin/bash
[root@750f40204378 /]# // 看左边的状态,会发现现在已经进入了容器了,而不是虚拟机了。
[root@750f40204378 /]# ls
anaconda-post.log bin dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
[root@750f40204378 ~]#// 退出
[root@750f40204378 ~]# exit
[root@VM_0_3_centos /]# // 这时候docker ps 发现容器已经停止了。
/**
* 创建一个守护式容器(创建完成启动容器但不会进入容器,exit退出容器也不会关闭)
* 因为不需要进入容器, 所以不需要加 /bin/bas 是命令解析器。
*/
[root@VM_0_3_centos ~]# docker run -id --name=mycentos2 centos:latest
35d806b3669df020a3027445047b98262521c7b4c0bcb246b1af8cd904e2296e
[root@VM_0_3_centos ~]#
[root@VM_0_3_centos ~]# docker ps -a // 查看历史状态发现mycentos已经停止, mycentos2还在运行。
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
35d806b3669d centos:latest "/bin/bash" 27 minutes ago Up 27 minutes mycentos2
750f40204378 centos:latest "/bin/bash" About an hour ago Exited (137) 5 seconds ago mycentos

    进入运行中的容器 docker exec -it 容器名称 /bin/bash         查看容器ip(只能查看运行中的容器)  docker inspect 容器名

  启动容器: docker start 容器名称           关闭容器: docker stop 容器名称           删除停止的容器:docker rm 容器名称

文件拷贝与目录挂载

/**
* 将宿主机文件复制到容器中:
* docker cp 目标目录 容器名: 指定目录
*/
[root@VM_0_3_centos ~]# docker cp /usr/local/wulei/myfile mycentos:/usr/local
[root@VM_0_3_centos ~]# docker exec -it mycentos /bin/bash
[root@750f40204378 /]# cd /usr/local
[root@750f40204378 local]# ll
total 44
drwxr-xr-x 2 root root 4096 Apr 11 2018 bin
drwxr-xr-x 2 root root 4096 Apr 11 2018 etc
drwxr-xr-x 2 root root 4096 Apr 11 2018 games
drwxr-xr-x 2 root root 4096 Apr 11 2018 include
drwxr-xr-x 2 root root 4096 Apr 11 2018 lib
drwxr-xr-x 2 root root 4096 Apr 11 2018 lib64
drwxr-xr-x 2 root root 4096 Apr 11 2018 libexec
-rw-r--r-- 1 root root 4 Oct 14 03:35 myfile
drwxr-xr-x 2 root root 4096 Apr 11 2018 sbin
drwxr-xr-x 5 root root 4096 Oct 6 19:14 share
drwxr-xr-x 2 root root 4096 Apr 11 2018 src
/**
* 把容器文件copy到宿主机中
* docker cp 容器名称:容器目录 需要拷贝的文件或目录
*/
/**
* 目录挂载(文件映射)
* 将宿主机的indexhtml文件映射到指定目录,并命名为haha
*/
docker run -id --name=mycentos1 -v /usr/local/wulei/indexhtml:/usr/local/haha centos:latest
/**
* 目录挂载(文件夹映射 需要通过--privileged=true加持权限)
* 将宿主机的wulei文件夹映射到指定目录,并命名为ok
*/
docker run -id --name=mycentos2 -v /usr/local/wulei:/usr/local/ok --privileged=true centos:latest

1. Docker快速入门(仓库,镜像,容器)的更多相关文章

  1. Docker快速入门(二)

    上篇文章<Docker快速入门(一)>介绍了docker的基本概念和image的相关操作,本篇将进一步介绍image,容器和Dockerfile. 1 image文件 (1)Docker ...

  2. 【干货合集】Docker快速入门与进阶

    收录待用,修改转载已取得腾讯云授权 Docker 在众多技术中,绝对是当红炸子鸡.这年头,如果你不懂一点容器,不学一些Docker,还怎么出去跟人炫耀技术? Docker 也是云计算技术中较为热门的一 ...

  3. Docker 快速入门(一)- 情况介绍和安装

    欢迎您! 很高兴您想学习 Docker . 这个页面包含了如何开始使用 Docker 的循序渐进的说明. Docker 快速入门培训模块教你如何: 设置 Docker 环境(在本页) 构建并运行您的镜 ...

  4. Docker安装入门 -- 应用镜像

    Docker安装入门 -- 应用镜像 WordPress  1.docker build -t csphere/wordpress:4.2 .  2.docker run -d -p 80:80 -- ...

  5. Docker安装入门 -- 中间件镜像

    Docker安装入门 -- 中间件镜像 php-fpm 1.docker build -t csphere/php-fpm:5.4 .   //在当前目录下创建镜像 2.docker run -d - ...

  6. Docker registry 私有仓库镜像查询、删除、上传、下载 shell

    #Docker官方私有仓库registry #官方只提供了API接口,不方便使用,就写了个shell #docker-registry安装配置http://www.cnblogs.com/elvi/p ...

  7. Python Docker 查看私有仓库镜像【转】

    文章来源:python Docker 查看私有仓库镜像 pip 安装: # 首先安装epel扩展源: yum -y install epel-release # 更新完成之后,就可安装pip: yum ...

  8. Docker快速入门

    Docker已经火了很长一段时间,最近打算在阿里云上好好熟悉一下Docker的相关应用,为今后的工作做准备. 基本概念 Docker是基于Go语言实现的云开源项目,诞生于2013年初,最初发起者是do ...

  9. 进击的docker 二 : docker 快速入门

    1.安装docker 1.1.安装环境 [root@docker ~]# cat /etc/redhat-release CentOS Linux release (Core) [root@docke ...

随机推荐

  1. 苹果cms怎么上传本地视频资源

    今天我们来简单分享下苹果cms怎么上传本地视频,采集资源站的资源我们已经熟知了,但是有的伙伴们想要上传自己制作或是录制的视频应该怎么操作呢?这个问题有多种方法,今天我们先简单的说2种方法. 一,上传到 ...

  2. Spring Boot教程(十六)属性配置文件详解(1)

    相信很多人选择Spring Boot主要是考虑到它既能兼顾Spring的强大功能,还能实现快速开发的便捷.我们在Spring Boot使用过程中,最直观的感受就是没有了原来自己整合Spring应用时繁 ...

  3. jvisualvm性能监控

    一.配置JMX 1.进入tomcat bin目录 vim catalina.sh #!/bin/sh下面加入: #!/bin/sh JAVA_OPTS="-Dcom.sun.manageme ...

  4. aws常用命令

    EC2 挂载 EBS linux 查看块设备: lsblk 格式化磁盘: sudo mkfs -t ext4 /dev/xvdb 挂载卷: sudo mount /dev/xvdb /mnt/mydi ...

  5. 【每日一包0002】array-first

    github地址:https://github.com/ABCDdouyae... array-first 获取数组的第一项或者前几项 文档地址:https://www.npmjs.com/packa ...

  6. 一、基础篇--1.1Java基础-反射的用途和实现

    https://blog.csdn.net/SongYuxinIT/article/details/81872066 反射的核心是JVM在运行时才动态加载类或调用方法/访问属性,它不需要事先(写代码的 ...

  7. redis管道pipeline

    Jedis jedis = new Jedis("127.0.0.1",6379); Pipeline pipeline = jedis.pipelined(); for(int ...

  8. Gradle之Gradle 源码分析(四)

    Gradle 的启动 constructTaskGraph runTasks finishBuild gradle 脚本如何编译和执 插件调用流程 一.Gradle 的启动 1.1 整体实现图 1.2 ...

  9. 【C语言工具】AddressSanitizer - 内存检测工具

    Github 地址:https://github.com/google/sanitizers Wiki 地址:https://github.com/google/sanitizers/wiki/Add ...

  10. C 语言的运算符

    算术运算 C 语言支持 + - * / % 五种运算,加减乘除取模. 所有 CPU 都内建加法器,可以完成加法操作.减法操作可以转为加法操作.大部分 CPU 都没有内置乘法器,此时编译器会把 * / ...