仓库配置及安装启动

[root@localhost ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
[root@localhost ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
[root@localhost ~]# yum makecache fast
[root@localhost ~]# yum -y install docker-ce
[root@localhost ~]# service docker start
Redirecting to /bin/systemctl start docker.service

版本查看

[root@localhost ~]# docker -v
Docker version 18.09.0, build 4d60db4

镜像下载

[root@localhost ~]# docker pull alpine
Using default tag: latest
latest: Pulling from library/alpine
4fe2ade4980c: Pull complete
Digest: sha256:621c2f39f8133acb8e64023a94dbdf0d5ca81896102b9e57c0dc184cadaf5528
Status: Downloaded newer image for alpine:latest

查看的本地镜像

[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
alpine latest 196d12cf6ab1 3 months ago 4.41MB

镜像启动成容器

[root@localhost ~]# docker run -it alpine sh
/ #

容器里创建一个大小为20M

/ # dd if=/dev/zero of=chenxi bs=10M count=2
2+0 records in
2+0 records out
/ # ls -l chenxi
-rw-r--r-- 1 root root 20971520 Dec 12 04:31 chenxi

用快捷键Ctrl+p,q退出容器,根据此运行的容器制作镜像

[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
292d32b4b3a1 alpine "sh" 15 minutes ago Up 15 minutes condescending_wu
[root@localhost ~]# docker commit 292d32b4b3a1 chenxi:test
sha256:cfcb3e42b392ac74fb8984f339916cbd062a968f6398af47e24d55dbb4364152
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
chenxi test cfcb3e42b392 13 seconds ago 25.4MB
alpine latest 196d12cf6ab1 3 months ago 4.41MB

查看镜像层

[root@localhost ~]# docker history  alpine:latest
IMAGE CREATED CREATED BY SIZE COMMENT
196d12cf6ab1 3 months ago /bin/sh -c #(nop) CMD ["/bin/sh"] 0B
<missing> 3 months ago /bin/sh -c #(nop) ADD file:25c10b1d1b41d46a1… 4.41MB
[root@localhost ~]# docker history chenxi:test
IMAGE CREATED CREATED BY SIZE COMMENT
cfcb3e42b392 2 minutes ago sh 21MB
196d12cf6ab1 3 months ago /bin/sh -c #(nop) CMD ["/bin/sh"] 0B
<missing> 3 months ago /bin/sh -c #(nop) ADD file:25c10b1d1b41d46a1… 4.41MB

使用dockerfil简单构建tomcat镜像文件

[root@localhost ~]# ls /tomcat/
apache-tomcat-9.0.13.tar.gz Dockerfile
[root@localhost ~]# cat /tomcat/Dockerfile
FROM centos
RUN mkdir /tomcat && yum -y install java
COPY apache-tomcat-9.0.13.tar.gz /tomcat
RUN tar -zvxf /tomcat/apache-tomcat-9.0.13.tar.gz -C /usr/local/
EXPOSE 8080
CMD ["/usr/local/apache-tomcat-9.0.13/bin/catalina.sh", "run"] [root@localhost tomcat]# docker build -f Dockerfile -t tomcat:chenxi .
Sending build context to Docker daemon 9.991MB
Step 1/6 : FROM centos
---> 1e1148e4cc2c
Step 2/6 : RUN mkdir /tomcat && yum -y install java
---> Using cache
---> 05e991a5d3f7
Step 3/6 : COPY apache-tomcat-9.0.13.tar.gz /tomcat
---> Using cache
---> 3dffdd201d5f
Step 4/6 : RUN tar -zvxf /tomcat/apache-tomcat-9.0.13.tar.gz -C /usr/local/
---> Using cache
---> 1b8021e0f9fb
Step 5/6 : EXPOSE 8080
---> Using cache
---> a3d6bc853d8c
Step 6/6 : CMD ["/usr/local/apache-tomcat-9.0.13/bin/catalina.sh", "run"]
---> Using cache
---> 3969b96f4e53
Successfully built 3969b96f4e53
Successfully tagged tomcat:chenxi

查看构建的容器镜像并启动

[root@localhost tomcat]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
tomcat 7 3969b96f4e53 7 minutes ago 445MB
tomcat chenxi 3969b96f4e53 7 minutes ago 445MB
<none> <none> 2b60cff33319 2 days ago 435MB
<none> <none> 0717bf973613 2 days ago 435MB
centos latest 1e1148e4cc2c 8 days ago 202MB
[root@localhost tomcat]# docker run -d --name chenxi -p 8080:8080 tomcat:chenxi
a7713ecd235158cdc7c276d057a8fb06561002f119d80b6ee882810e1d3c8488
[root@localhost tomcat]# ss -lntp
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:22 *:*
users:(("sshd",pid=1022,fd=3))LISTEN 0 100 127.0.0.1:25 *:*
users:(("master",pid=1293,fd=13))LISTEN 0 128 :::8080 :::*
users:(("docker-proxy",pid=2259,fd=4))LISTEN 0 128 :::22 :::*
users:(("sshd",pid=1022,fd=4))LISTEN 0 100 ::1:25 :::*
users:(("master",pid=1293,fd=14))

  

docker的安装及基础操作与镜像构建的更多相关文章

  1. Docker harbor 安装和基础操作

    目录 简介 离线安装 配置文件 安装 查看 访问测试 及 简单操作 创建一个用户 创建一个测试仓库 创建测试仓库 测试上传和下载镜像 上传 下载镜像测试 简介 Docker容器应用的开发和运行离不开可 ...

  2. mysql二进制安装及基础操作

    mysql二进制安装及基础操作 环境说明: 系统版本    CentOS 6.9 x86_64 软件版本    mysql-5.6.36-linux-glibc2.5-x86_64 1.安装 采用二进 ...

  3. Linux ubuntu下docker容器安装和基础命令

    Docker介绍: 云计算就好比大货轮,docker就是集装箱虚拟机虽然可以隔离出很多"子电脑",但占用空间更大,启动更慢,虚拟机软件可能还要花钱(例如VMWare). 而容器技术 ...

  4. 项目实战12.1—企业级监控工具应用实战-zabbix安装与基础操作

    无监控,不运维.好了,废话不多说,下面都是干货. 警告:流量党勿入,图片太多!!! 项目实战系列,总架构图 http://www.cnblogs.com/along21/p/8000812.html ...

  5. Kafka 教程(二)-安装与基础操作

    单机安装 1. 安装 java 2. 安装 zookeeper [这一步可以没有,因为 kafka 自带了 zookeeper] 3. 安装 kafka 下载链接 kafka kafka 是 scal ...

  6. Docker基础内容之镜像构建

    前言 Docker可以通过读取Dockerfile中的指令来自动构建图像.Dockerfile是一个文本文档,包含用户可以在命令行上调用的所有命令来组装一个图像.使用docker构建用户可以创建一个自 ...

  7. docker安装和基础操作

    docker安装 yum install docker 配置镜像下载加速器 curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh ...

  8. docker入门——安装及简单操作

    和安装其他软件一样,安装Docker也需要一些基本的前提条件.Docker要求的条件具体如下: 运行64位CPU构架的计算机(目前只能是x86_64和amd64),Docker目前不支持32位CPU. ...

  9. docker的安装和基础使用

    Docker EE/Docker CE简介与版本规划 版本区别 Docker EE Docker EE由公司支持,可在经过认证的操作系统和云提供商中使用,并可运行来自Docker Store的.经过认 ...

随机推荐

  1. HNOI2017 day1 T2 影魔

    题目大意: 影魔,奈文摩尔,据说有着一个诗人的灵魂.事实上,他吞噬的诗人灵魂早已成千上万.千百年来,他收集了各式各样的灵魂,包括诗人.牧师.帝王.乞丐.奴隶.罪人,当然,还有英雄. 每一个灵魂,都有着 ...

  2. 动态编译c#脚本(把c#当作脚本执行)

    csscript动态编译C#脚本 This document contains information about the CLR based scripting system CS-Script ( ...

  3. k8s关键性概念

    1.service每个service对应一个cluster IP,cluster IP对应的服务网段最初是在配置kube-apiserver.kube-controller-manager和kube- ...

  4. Linux常用的18个命令(复习)

    1. cd命令 它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径.如: cd /root/Docements # 切换到目录/root/Docements cd . ...

  5. Ruby主要方法

         方法定义        def hello(name) ...  end                                                函数名 参数 作用 备 ...

  6. 2016 Multi-University Training Contest 1 GCD【RMQ+二分】

    因为那时候没怎么补所以就分到了未搞分组里!!!然后因为标题如此之屌吧= =点击量很高,然后写的是无思路,23333,估计看题人真的是觉得博主就是个撒缺.废话不多说了,补题... update////2 ...

  7. 每天一水poj1502【最短路】

    #include<iostream> #include<cstdio> #include<string.h> #include<algorithm> u ...

  8. React的深入浅出

    react组件重新渲染有两种途径:1.自身调用setState:2.父组件传入新的props.3.但这两种途径都不会必然调用render而引起重新渲染, 都会先经过shouldComponentUpd ...

  9. oauth2(spring security)报错method_not_allowed(Request method 'GET' not supported)解决方法

    报错信息 <MethodNotAllowed> <error>method_not_allowed</error> <error_description> ...

  10. 清橙A1339. JZPLCM(顾昱洲)

    http://www.tsinsen.com/ViewGProblem.page?gpid=A1339 题解:https://blog.csdn.net/LOI_DQS/article/details ...