腾讯云CentOS 7.6 64位之docker的镜像和容器练习

本文使用的Docker是社区版,版本是19.03.2,这个版本是本文写时的最新版。

首先总结下容器和镜像的概念:

容器是用镜像创建的,一个镜像可以创建多个容器。

一般来说,一个容器就是一个应用,把应用在容器中运行称之为应用容器化

删除镜像的时候,如果由这个镜像创建的容器还存在则会删除失败。

容器和镜像的关系就是:容器是镜像的实例化的可运行实体

以下是我的练习内容:

1. 拉取镜像
  docker pull centos:latest
  或者按照版本拉取:docker pull centos:7.6

2. 查看所有已经拉取的镜像
  docker images

3. 通过镜像启动容器并且进入其中
  docker container run -it 0f3e07c0138f /bin/bash
  0f3e07c0138f是你镜像的ID,通过"docker images"命令查看获得

4. 退出容器返回到主机
  使用Ctrl-PQ组合键(这只是退出命令界面而已,不会杀死容器进程。)

5. 查询下当前运行中的容器情况
  docker container ls

6. 连接到运行中的容器
  docker container exec -it dreamy_cartwright bash
  dreamy_cartwright是容器的名字,通过"docker container ls"命令查看获得

7. 销毁容器
  停止容器运行:docker container stop dreamy_cartwright
  删除容器:docker container rm dreamy_cartwright
  查看所有状态的容器(包括停止状态的容器):docker container ls -a
  没有查到说明已经被删除了

7.1 删除镜像
  删除刚刚拉取的镜像:docker image rm 0f3e07c0138f
  0f3e07c0138f是你镜像的ID,通过"docker images"命令查看获得
  注意:
    只有没有被容器使用的镜像才能被删除
    也可直接删除所有没被容器使用的镜像:docker image prune -a

8. 上传并运行一个nodejs工程
  上传文件首先需要安装:yum install lrzsz
  如果出现是否需要安装请键盘输入Y然后回车
  创建目录:mkdir -p /home/demo/nodejs-docker
  下载安装SecureCRT,在SecureCRT中连接后输入:cd /home/demo/nodejs-docker
  上传文件输入命令:rz
  然后双击这个文件夹再点击确定,上传成功后可以使用命令查看:ls -a
  安装zip解压缩软件:yum install unzip zip
  执行解压命令:unzip psweb-master.zip
  删除掉之前的zip文件:rm -f psweb-master.zip

备注:

nodejs工程文件及SecureCRT下载地址:https://pan.baidu.com/s/1NprxpW5LIHySWTijMByx6g 提取码:ju8e

双击SecureCRTPortable.exe可运行SecureCRT。

这个部分其实只有rz这个命令需要用到SecureCRT,其他部分我都用腾讯云自带的WebShell了。

9. 在Docker的容器中运行nodejs-demo
  切换到Dockerfile所在的目录:cd /home/demo/nodejs-docker/psweb-master
  打包成Docker镜像:docker image build -t test:latest .
  然后使用docker image ls命令查看到有test代表就是成功了
  运行镜像:docker container run -d --name web1 --publish 8080:8080 test:latest
  命令行回到根目录:cd ~

10. 运行一个容器,后台运行,不进入其中
  docker container run -d --name webserver -p 80:8080 \
  然后再输入:nigelpoulton/pluralsight-docker-ci
  -d代表后台运行

11. 删除所有容器和镜像
  容器:docker container rm $(docker contaiiner ls -aq) -f
  镜像:docker image rm $(docker image ls -q) -f

12. 查看容器的配置信息
  docker container inspect 容器ID

13. 关于Dockerfile

这个文件包含了对这个应用的描述,并且指导Docker完成构建。

直接看Dockerfile文件里面的英文注释,那个里面写的比较清楚了。

总结下这些关键字代表的含义

FROM:应用运行在什么镜像上

LABEL:这个容器的负责人

RUN:在镜像中执行的命令

COPY:将代码复制到镜像的某个位置中

EXPOSE:记录应用使用的端口号

ENTRYPOINT:容器启动后默认运行的程序

原文地址:https://www.cnblogs.com/cluyun/p/11623016.html

时间: 2024-10-09 23:57:30

腾讯云CentOS 7.6 64位之docker的镜像和容器练习的相关文章

腾讯云CentOS 7.6 64位安装docker

本文使用的Docker是社区版,版本是19.03.2,这个版本是本文写时的最新版. 昨天新购了腾讯云的Linux服务器,所以记录下第一次安装Docker.直接用WebShell登录linux在浏览器执行命令即可. 1. 安装deltarpm  yum provides '*/applydeltarpm'  yum install deltarpm 2. 安装docker  wget -qO- https://get.docker.com/ | sh 3. 添加用户到Docker组中(your-u

腾讯云CentOS 7.2 64位安装Mongodb

一.安装步骤: 1.配置MongoDB的yum源: 创建yum源文件:vim  /etc/yum.repos.d/mongodb-org-3.4.repo 2.mongodb-org-3.4.repo文件添加的内容: [mongodb-org-3.4] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/ gpgcheck=1 enabled=

阿里云Ubuntu 12.4 64位 安装docker

最近大家都在说docker,索性自己阿里云买了台ubuntu完,这里需要注意的是,docker的官方文档中有提到,docker目前只对64的系统有支持. 所以这里我选择的是ubuntu 12.04 64位. 由于linux容器的bug,docker在linux的kernel3.8上运行最佳. 看下我们的ubuntu版本命令: [email protected]:~# cat /etc/issue Ubuntu 12.04.5 LTS \n \l 再来看下内核,命令: [email protect

阿里云服务器CentOS 5.7(64位)安装配置LAMP服务器(Apache+PHP5+MySQL)

阿里云服务器CentOS 5.7(64位)安装配置LAMP服务器(Apache+PHP5+MySQL) 转载自:http://elf8848.iteye.com/blog/1698351 一.快速安装Apache+PHP5+MySql ----------------------------------------------------- 补充:由于163的yum源上只有php5.1.6 mysql 5.0.95 版本较低,请直接看最后面的<八.卸载php5.1,mysql5.0 重新安装ph

Centos 6.5 64位双网卡绑定

1.环境描述      我的Vmware workstation 10 安装Centos 6.5 64位加上双口的Intel千兆网卡,通过ifconfig -a|grep eth命令看到eth2和eth3两张网卡. 2.双网卡绑定步骤: 2.1 修改/etc/sysconfig/network-scripts/ifcfg-eth2配置文档,修改后的内容如下:    DEVICE=eth2       ONBOOT=yes              #系统启动时自动启用该设备    BOOTPRO

centOS 6.5(64位)安裝fcitx輸入法

參考文章:http://blog.csdn.net/yang1982_0907/article/details/17100409 0. 用root账户登录系统 1. 卸载iBus yum remove ibus 2. 将RHEL 6.4的软件源更换为CentOS 6.4的软件源 参考博文:http://blog.csdn.net/yang1982_0907/article/details/17022983 3. 添加fcitx软件源 wget http://download.opensuse.o

CentOS 6.4 64位 源码编译hadoop 2.2.0

CentOS 6.4 64位 源码编译hadoop 2.2.0 搭建环境:Centos 6.4 64bit 1.安装JDK 参考这里2.安装mavenmaven官方下载地址,可以选择源码编码安装,这里就直接下载编译好的wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.1.1/binaries/apache-maven-3.1.1-bin.zip解压文件后,同样在/etc/profie里配置环境变量vim /etc/profieexport

Centos 6.5 64位安装VPN

一.首先检查你VPS的PPP和TUN有没有启用: cat /dev/ppp  cat /dev/net/tun 显示结果为:cat: /dev/ppp: No such device or address和cat: /dev/net/tun: File descriptor in bad state,表明通过,上述两条只要有一个没通过都不行.如果没有启用,你可以给VPS提供商Submit 一个 Ticket请求开通: Hello Could you enabled TUN-TAP for me?

centos 6.5 64位下安装源码安装mysql 5.6.15

系统环境是centos 6.5 64位的 首先在防火墙里面增加3306端口: 然后保存:wq! 保存好后重启下防火墙 service iptables restart 安装系统所需要的依赖包 [[email protected] ~]# yum -y install gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel*  cmake  bison