文档章节

docker基础

ZHAO_JH
 ZHAO_JH
发布于 2017/04/27 18:23
字数 838
阅读 12
收藏 0

系统示例版本:centos7.3

 

安装docker

wget https://download.docker.com/linux/centos/docker-ce.repo

wget http://mirrors.aliyun.com/repo/Centos-7.repo

#下载yum镜像库和阿里云镜像库

yum update

#更新yum仓库

yum remove docker*

yum remove container-selinux.x86_641

#先卸载系统自带旧版本

yum install -y docker

#下载安装并启用docker

vi /lib/systemd/system/docker.service

ExecStart=/usr/bin/dockerd -s=overlay --registry-mirror=https://7rgqloza.mirror.aliyuncs.com --insecure-registry=localhost:5000 -H unix:///var/run/docker.sock --pidfile=/var/run/docker.pid

#编辑docker服务加入阿里云docker加速

systemctl daemon-reload

systemctl restart docker

systemctl enable docker.service

#重载并重启服务使配置生效,再加入开机自启

 

--------------------------------------------------------------------------

 

命令说明

 

版本

docker -v

#查看docker版本

docker version

#查看docker详细版本

docker info

#查看docker信息

 

镜像&容器

docker images

#查看镜像

docker search windows

#搜素镜像

docker pull centos

#下载docker镜像

docker create -it centos

docker start [ID]

#分别创建容器和启用容器

docker run -it centos /bin/bash

#创建并启用容器,格式:docker run 【镜像名称】 【命令解释器】

docker ps -a

#查看容器

docker rm [所要删除的容器]

#删除容器

docker rmi [所要删除的镜像]

#删除镜像

 

------------------------------------------------------------------------------------------------------

导入和导出

 

在现有镜像基础上新建镜像

docker commit [options] [原有容器ID] [新建的镜像名称]

options

-a --author=''作者信息

-m --message=''提交消息

-p --pause=trune提交时暂停容器运行

示例:

docker commit -m 'This is test!!!' -a "user1" 678ce946e2fd new-test-image

 

保存镜像为文件

docker save [选项] [保存文件名称] [原有镜像名称]

示例:

docker save -o centos_images.tar centos

 

加载镜像

docker load < busybox.tar

docker load < [镜像文件]

 

使用进入容器

docker attach aee5a3826352

#docker attach [容器ID] 此方式退出容器,容器自动终止运行

docker exec -it aee /bin/bash

#docker exec -it [容器ID] [命令解释器] 此方式退出容器,容器后台继续执行

 

导出容器

docker export aee5a3826352 > test.tar

docker export [容器ID] > [导出名称]

 

导入容器

cat test.tar | docker import - centos:v1.0

cat test.tar | docker import - [ NAME:TAG ]

 

创建私有仓库

docker run -d -p 5000:5000 -v [本地储存路径:容器储存路径] registry

docker run -d -p 5000:5000 -v /docker/file:/tmp/docker registry

 

------------------------------------------------------------------------------------------------------

 

网络映射

 

例:docker run -i -t -d -p 80:80 -p 880:888 -p 3306:3306 -p 21:21 -v /www/wwwroot/:/www/wwwroot/ docker.io/centos /bin/bash  -c '/etc/rc.local && /bin/bash'  

docker run [选项]

-i, --interactive

容器的标准输入保持开启状态

-t, --tty

分配并启动一个伪终端

-d, --detach

分离模式,在后台运行docker容器

-p, --publish

发布容器端口出去,也可以说把容器端口映射到本地

-v,--volume

共享存储,把本地目录映射到容器中

--name

自定义容器名称

--link

关联容器

 

注:如果出现WARNING: IPv4 forwarding is disabled. Networking will 0not work.

解决方案:

echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf

systemctl restart network

 

故障解决:

1. 映射端口时候出现

WARNING: IPv4 forwarding is disabled. Networking will 0not work.

解决方案:

echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf

systemctl restart network

2. sshd登录容器时候出现

-bash: warning: setlocale: LC_CTYPE: cannot change locale (en_US.UTF-8): No such file or directory -bash: warning: setlocale: LC_COLLATE: cannot change locale (en_US.UTF-8): No such file or directory -bash: warning: setlocale: LC_MESSAGES: cannot change locale (en_US.UTF-8): No such file or directory -bash: warning: setlocale: LC_NUMERIC: cannot change locale (en_US.UTF-8): No such file or directory -bash: warning: setlocale: LC_TIME: cannot change locale (en_US.UTF-8): No such file or directory

解决方案:

运行 locale -a 查看系统当前支持的locale定义

通过运行“localedef -v -c -i en_US -f UTF-8 en_US.UTF-8” 生成相应的locale配置文件

 

© 著作权归作者所有

上一篇: Nginx配置详解
下一篇: Docker命令查询
ZHAO_JH
粉丝 17
博文 203
码字总数 182453
作品 0
宝山
运维
私信 提问
【技术干货】Docker精华学习资料集锦,老司机快上车

【技术干货】Docker精华学习资料集锦,老司机快上车 Docker是一个开源的应用容器引擎,提供了一种在安全、可重复的环境中自动部署软件的方式,允许开发者将他们的应用和依赖包打包到一个可移...

阿里云官方博客
2017/03/16
275
2
使用Docker Hub持续构建容器镜像

Context Docker作为一个轻量的的虚拟化容器技术,在现在的自动化运维上被广泛使用,同时伴随着各大云平台AWS、Aliyun,以及容器编排引擎kubernetes也都是基于Docker作为服务的基本单元,所以...

极客人
2018/08/22
0
0
docker save与docker export的区别

在http://chy940405.blog.51cto.com/11344281/1981804 这篇文章中分享了docker 基本操作Ⅱ(关于镜像操作),其中有一个问题就是docker save和docker export都能导出镜像包,咋看起来区别似乎...

我不是瘦子
2017/11/15
0
0
Docker学习之路(一)

安装并配置docker 基础环境:Centos7.X 内核版本:3.8以上版本(我的是3.10.0-514.21.2.el7.x86_64) 一、配置163的yum源(略) 二、安装docker(以下均使用root用户操作) (1)安装docker ...

quguoliang2013
2017/07/31
0
0
从 0 开始了解 Docker(ubuntu )

序 Docker 自开源以来受到了各大公司的广泛关注,或许现在互联网公司的运维体系不承载在 Docker(或 Pouch 等)之上都不好意思说自己的互联网公司。 本文会简单介绍下 Docker 的基础概念,入...

寰宇01
2018/05/11
15
0

没有更多内容

加载失败,请刷新页面

加载更多

JAVA 编写redisUtils工具类,防止高并发获取缓存出现并发问题

import lombok.extern.slf4j.Slf4j;import org.springframework.data.redis.core.BoundHashOperations;import org.springframework.data.redis.core.BoundValueOperations;import org.......

huangkejie
27分钟前
3
0
JMM内存模型(一)&volatile关键字的可见性

在说这个之前,我想先说一下计算机的内存模型: CPU在执行的时候,肯定要有数据,而数据在内存中放着呢,这里的内存就是计算机的物理内存,刚开始还好,但是随着技术的发展,CPU处理的速度越...

走向人生巅峰的大路
44分钟前
89
0
你对AJAX认知有多少(2)?

接着昨日内容,我们几天继续探讨ajax的相关知识点 提到ajax下面几个问题又是必须要了解的啦~~~ 8、在浏览器端如何得到服务器端响应的XML数据。 通过XMLHttpRequest对象的responseXMl属性 9、 ...

理性思考
54分钟前
4
0
正则表达式基础(一)

1.转义 转义的作用: 当某个字符在表达式中具有特殊含义,例如字符串引号中出现了引号,为了可以使用这些字符本身,而不是使用其在表达式中的特殊含义,则需要通过转义符“\”来构建该字符转...

清自以敬
56分钟前
4
0
idea中@Data标签getset不起作用

背景:换电脑以后在idea中有@data注解都不生效 解决办法:idea装个插件 https://blog.csdn.net/seapeak007/article/details/72911529...

栾小糖
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部