Linux安装docker及docker基本操作
一.安装docker
Docker要求运行在Centos 7上,要求系统为64位,系统内核版本3.10以上
1.uname -an 查看当前系统版本
2.yum -y install docker 下载安装docker
3.service docker start 启动docker服务
4.docker version 检查docker是否安装成功
当看到下图的信息,就是表示本机docker已经安装成功,很简单
二.镜像操作
创建容器要以镜像为基础,所以先讲下docker镜像的操作
搜索镜像
docker images ll 查看下本机的是否已经有了镜像
目前机器里还没有镜像,去Docker Hub下载(镜像还可自定义,这里就不细说了)
docker search java ,还能指定具体的版本进行下载,
例如:docker search Ubuntu:1.2.5.4,可以进行搜docker Hub 会列出很多镜像
下载镜像
docker pull docker.io/nginx 进行下载
下载到本地的镜像要比docker Hub上搜索出来的要大,因为下载过程中自动解压了,在查看镜像列表就有了刚才下载的镜像
列表包含了仓库名,版本标签,镜像ID,创建时间以及所占用的空间
删除镜像
删除没用的镜像docker rmi镜像id
三.镜像的创建与管理
前边我们已经下载好了Nginx的镜像,接下来我们就创建一个只有Nginx应用的容器docker run -i -t <IMAGE_ID> /bin/bash:-i:标准输入给容器 -t:分配一个虚拟终端 /bin/bash:执行bash脚本,
docker run -idt --name container_nginx -p 8080:80 docker.io/nginx
启动一个使用镜像docker.io/nginx,名字container_nginx的容器,-p 8080:80表示将容器的80端口映射到主机的8080端口,这样我们只要访问主机的8080端口就可以访问到容器的服务了。
注意:name前面是两个-, 端口前面有-p, docker.io/nginx是镜像名,8080是主机的端口,80是Nginx应用的端口
主机上的一个端口只能映射一个容器端口,不可以多个容器端口对应一个主机端口(如果容器安装的centos类的系统,那么容器端口随便设定,但如果容器内只是单纯的应用,那么容器端口要是应用自身的端口)
这样我们就创建并启动了一个容器!
exit 退出容器docker ps 查看运行中的容器docker ps -a 查看运行中和非运行中的所有容器docker exec -it container_nginx /bin/bash 进入容器如果容器还未启动 执行docker start container_nginx
进入容器后启动Nginx
whereis nginx 找Nginx的启动目录[root@iz2zehzeir87zi8q99krk1z ~]# docker start container_nginx
container_nginx
[root@iz2zehzeir87zi8q99krk1z ~]# docker exec -it container_nginx /bin/bash
root@84683e425116:/# whereis nginx
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx
root@84683e425116:/# /usr/sbin/nginx
此时在浏览器访问 http://51.110.218.9:8080/ 就可以直接访问容器内的Nginx
如果访问不成功,可能是主机端口的防火墙开着,执行下边的命令关闭
/ sbin / iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
由于我用的阿里云服务器,所以需要在阿里云把8080端口开放
删除容器
容器删除之前先将容器停止 docker stop container_nginx 或者是容器的iddocker rm -f container_nginx 容器删除
docker start 与 docker run 的区别
docker start name 启动一个已经创建的容器docker run 创建并启动一个容器
docker run 命令其实是 docker create 和 docker start 的命令组合,先执行docker create 创建一个容器 再接着docker start启动
主机和容器文件相互复制
从主机复制到容器 sudo docker cp host_path containerID:container_path从容器复制到主机 sudo docker cp containerID:container_path host_path
请注意,以上这两个命令都是在主机中执行的,不能再容器中执行
docker cp container_nginx:/usr/local/xin.txt /usr/local/software/ 容器向主机复制文件
docker cp /usr/local/xinzhifu.txt container_nginx:/usr/local/ 主机向容器复制文件
这样一个基础的docker容器就创建完了 。。。。。。。。。。。。
反过来大家再看一看docker的容器与镜像的区别 https://www.cnblogs.com/linjiaxin/p/7381421.html
那么其实镜像与容器的本质区别并不大,那么镜像可以生成容器 ,容器是否可以做成镜像呢?
docket commit container_nginx image_nginx:v1容器名 自己起一个镜像的名字:版本号
用当前的容器生成了redis镜像
例如:A、B两台机器都想安装redis,A机器上创建容器并在容器中做好redis的一切配置,让后将这个容器docker commit 成镜像image_redis,B机器也想要安装redis,直接用镜像image_redis创建容器就行了,docker就是做这样一劳永逸的事情。
而且传统方式得在每台机器上安装配置redis非常麻烦
四.镜像的导入与导出
镜像压缩打包 (主机上进行操作),有两种方式 docker save 与 docker load 和 docker export 与 docker import
docker save nginx | gzip > nginx_xin_image.tar.gz 将现有的镜像压缩打包docker load -i nginx_xin_image.tar.gz 压缩的镜像解压docker images 进行查看
docker save 是直接将镜像进行打包 docker save <镜像名>或<镜像id>
docker export container_nginx> nginx_image.tar cat nginx_image.tar | sudo docker import - nginx_image:import
docker export 是直接将容器进行打包 docker save <容器名>或<容器id>
需要注意两种方法配套的,切不可混用。虽然导入导出时没问题,但是在创建容器时候会报错
如果使用import导入save产生的文件,虽然导入不提示错误,但是启动容器时会提示失败,
会出现类似"docker: Error response from daemon: Container command not found or does not exist"的错误。
类似,使用load载入export产生的文件,也会出现问题
Linux安装docker及docker基本操作相关推荐
- linux安装和使用docker教程
linux安装和使用docker教程 文章目录 linux安装和使用docker教程 1.docker官网安装地址 2.卸载linux系统中的docker 3.安装docker 4.查看安装docke ...
- Linux安装最新版Docker完整教程(建议收藏)
Linux安装最新版Docker完整教程 一.安装前准备工作 1.1 查看服务器系统版本以及内核版本 cat /etc/redhat-release 1.2 查看服务器内核版本 uname -r 这里 ...
- linux安装教程 ce,docker CE安装教程
docker CE安装教程 2018-11-09 10:28 | coding云 | 31451次阅读 | 本文开发环境为Ubuntu 16.04 LTS 64位系统,通过apt的docker官方源安 ...
- linux能装sql2000,亲测linux安装sql server (docker+centos7)
sql server已经支持在linux中安装了.最简单的方式还是使用docker, 今天我就带大家来,体验一下使用docker来安装sql server.超爽!!! 一.使用docker下载并配置s ...
- Linux 安装Nginx(Docker)
1.拉取Nginx镜像 docker pull nginx 2.创建Nginx容器(临时) docker run -di --name nginx -p 80:80 nginx 3.查看docker进 ...
- linux安装nsenter工具,Docker 使用nsenter工具进入容器的操作
在使用Docker容器的时候,利用nsenter工具会比较方便,如果我们的系统没有的话,那就需要我们自己来安装了 1.首先访问该网址找到最新版本的nsenter工具 2.然后下载nsenter工具的源 ...
- Linux安装jdk和docker安装jdk
安装路径 /usr/java/jdk1.8.0_101 环境变量配置新增内容: export JAVA_HOME=/usr/java/jdk1.8.0_101 export PATH=$JAVA_ ...
- Linux安装卸载Mysql与基本操作
一.安装Mysql软件 1.下载rpm包 本文章使用的系统是Linux,所以你需要下载一个mysql的rpm包 https://dev.mysql.com/downloads/ 根据系统版本下载,Ce ...
- linux安装微信和qq
一.linux安装docker 如何在 Ubuntu 20.04 上安装和使用 Docker - 知乎 二.linux安装微信 [2020.11.4亲测有效] 手把手教你在Ubuntu 20.04上通 ...
- Linux 安装docker,以及docker的基本操作
一.安装docker Docker要求运行在Centos 7上,要求系统为64位,系统内核版本3.10以上 1.uname -an 查看当前系统版本 2.yum -y install docker 下 ...
最新文章
- 第二节 数学基础与语言学基础
- linux编程综合案例
- HarmonyOS之设备定位的使用与地理编码的转化
- ARP(Address Resolution Protocol)地址解析协议初识
- SAP WebClient UI view controller所有可用的属性列表
- 客户端是选择Java Swing还是C# Winform
- 14--用两个栈实现队列
- php _call call_user_func_array,PHP call_user_func和call_user_func_array函数的简单理解与应用分析...
- 用计算机字符写名字,NSIS:把计算机名转换为大写或小写字符
- Matlab之subplot函数
- C/C++[codeup 1907]吃糖果
- linux自带python3.5_linux上安装python3, 保留python2
- SNN系列|神经元模型篇(4) LIF
- Windows NT操作系统
- 大数据实训整体解决方案
- 织梦css分页样式写在哪,DEDECMS列表分页样式css代码
- 在linux系统下ping不通windows主机问题
- 服务器常用的cpu型号,服务器CPU你又知多少?多款型号各个数
- 支付宝个人收款解决方案之支付宝签约方案
- 《消费者行为学》读书笔记 第一章 消费者行为学导论
热门文章
- 关于sql server 的那些事
- DDD(Domain-Driven Design)领域驱动设计-(一)整体概述
- 建立一个mysql 文件命令是_使用命令行创建数据库
- 基于FPGA的RGB图像转 Ycbcr图像实现 gray图像
- [转]SDN与OpenFlow技术简介
- Python字典依据value排序
- sql server 约束 查找
- java socket 异步回调函数_浅谈socket同步和异步、阻塞和非阻塞、I/O模型
- Fedora 29 rpmbuild 打包openssl 1.1.1a版本
- ArcGIS制图技巧系列(1)还原真实的植被