CentOS安装docker,及其基本操作

CentOS安装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  查看下本机的是否已经有了镜像

目前机器里还没有镜像,去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的启动目录

[[email protected] ~]# docker start container_nginx
container_nginx
[[email protected] ~]# docker exec -it container_nginx /bin/bash
[email protected]:/# whereis nginx
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx
[email protected]:/# /usr/sbin/nginx 

此时在浏览器访问 http://51.110.218.9:8080/ 就可以直接访问容器内的Nginx

如果访问不成功,可能是主机端口的防火墙开着,执行下边的命令关闭

/ sbin / iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

删除容器

容器删除之前先将容器停止

docker stop container_nginx 或者是容器的id

docker 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容器就创建完了 。。。。。。。。。。。。

参考资料:https://blog.csdn.net/xinzhifu1/article/details/83579256

宿主机访问docker容器

问题描述:初学Docker,主机Windows 10,虚拟机Cent OS7 运行了一个docker容器(Tomcat7),宿主机无法访问容器运行的服务。

  

问题原因:宿主机无法访问docker容器ip。

问题解决:1、虚拟机命令:ifconfig

    查看docker容器的网段、centos的IP地址:

    

    2、管理员身份打开宿主机powershell:执行命令: ROUTE -p add 172.17.0.1 mask 255.255.0.0 192.168.102.129

      Docker容器内部端口映射到外部宿主机端口。

    

    可以ping通容器ip了!

    再次在宿主机中访问:http://172.17.0.1:8080/,又见小橘猫 ~^ _ ^~

  参考资料:https://www.cnblogs.com/hongkejidan/p/10418835.html

docker容器无法访问宿主机-No route to host

也表现为docker间通过宿主机IP + 宿主机 端口 通信时报错: No route to host

解决方案1 : (推荐) :

在宿主机上将要访问的端口号添加到 public 的zone 区域:

firewall-cmd --zone=public --add-port=2181/tcp --permanent
firewall-cmd --reload

解决方案2 : (不推荐) :

直接关闭防火墙,会引起安全问题。以及docker 查新启动报 iptables no chain 之类的错误.

systemctl stop firewalld

注意: 问题貌似只出现在centos上,所以还是推荐ubuntu 貌似毛病少点。

原文地址:https://www.cnblogs.com/wjw1014/p/11936905.html

时间: 2024-08-27 14:53:09

CentOS安装docker,及其基本操作的相关文章

CentOS安装docker ce的三种方式

参考文章: CentOS安装docker ce的三种方式: 1.环境 CentOS Linux release 7.6.1810 (Core) 2.卸载旧版本 sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker

CentOS安装docker基础教程

升级CentOS 准备工作: 1:安装开发平台工具 yum groupinstall "Development tools" 2:安装内核升级需要的依赖组件 yum install ncurses-devel qt-devel hmaccalc zlib-devel binutils-devel elfutils-libelf-devel   3:因为selinux和LXC有冲突,所以需要禁用 # vi /etc/selinux/config SELINUX=disabled 4:配置

centos 安装docker并部署项目

我这里用的root账户 uname -aLinux tiankong 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux yum -y install docker 错误:软件包:7:device-mapper-1.02.107-5.el7.x86_64 (@anaconda)          需要:device-mapper-libs = 7:1.02.107-5.e

CentOS 安装 Docker

Linux安装docker的前提条件: 必须是64位CPU架构的计算机,Docker目前不支持32位CPU: 运行Linux3.8或更高版本内核,CentOS时内核必不小于3.10: 内核必须支持一种合适的存储驱动,可以是Device Manager.AUFS.vfs.btrfs.以及默认的驱动Device Mapper中的一个: 内核必须支持并开启cgroup和命名空间namespace功能. 检查前提条件 内核 通过uname命令来检查内核版本信息. 检查内存驱动是否存在,即检查Device

虚拟机Centos安装docker小记

本书记录是参考 <Spring Cloud 与 Docker 微服务架构实战(第二版)>这本书实现的. 记录简单几个命令,安装顺序如下: 1. 安装docker所需的包 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 2.安装stable仓库 sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker

阿里云centos安装docker

近期转向core开发,mssql也支持了docker,索性把手上的一台服务改成centos做测试开发.中间安装docker碰到的问题做个记录. docker版本 docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE.Docker CE即社区免费版,Docker EE即企业版,付费使用. 初次安装问题 直接用yum安装docker,一次就成功,正常启动.但是修改/etc/docker/daemon.json后无法正常启动docker. 提示: unable to c

[docker] 02 CentOS安装docker(包含失败),安装命令简介,以及docker核心概念

主要内容: 一.安装docker(包含卸载重新安装) 二.配置docker服务 三.安装命令简介 四.docker核心概念 一.安装docker 1.1. 通过uname -r查看系统版本,为什么要查看系统版本呢?因为docker对CentOS有以下要求: a. CentOS 7及以后的版本 b. 64位操作系统 c. 内核版本至少3.10 1.2. 支持devicemapper存储类型 sudo yum update sudo yum install -y device-mapper-pers

Centos 安装 docker 和 docker-compose

一.docker安装 1.卸载旧版本 1 sudo yum remove docker 2 docker-client 3 docker-client-latest 4 docker-common 5 docker-latest 6 docker-latest-logrotate 7 docker-logrotate 8 docker-engine 2.在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库.之后,您可以从仓库安装和更新 Docke

centos安装docker

一.升级内核 [[email protected] ~]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org [[email protected] ~]# rpm -ivh http://www.elrepo.org/elrepo-release-6-5.el6.elrepo.noarch.rpm [[email protected] ~]# yum --enablerepo=elrepo-kernel install kern