运维技术分享平台

 找回密码
 立即注册
首页
查看: 4560|回复: 1

docker 基本操作手册

[复制链接]

8

主题

9

帖子

75

积分

注册会员

Rank: 2

积分
75
发表于 2020-4-16 12:26:39 | 显示全部楼层 |阅读模式
Docker 介绍



Docker是通过内核虚拟化技术(namespacescgroups)来提供容器的资源隔离与安全保障等。由于docker 通过操作系统层的虚拟化实现隔离,所以docker 容器在运行时不需要类似虚拟机额外操作系统开销,提高资源利用率



一.Docker 安装及基本操作
环境基于: CentOS 7
1. 安装dockeryum
tee /etc/yum.repos.d/docker.repo <<-'EOF'
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF
2.执行安装
#yum -y install docker-engine
3.设置开机启动
# systemctl  start docker  && systemctl enable docker
4.添加Docker Hub国内镜像
# 如果没有此文件,则新建一个
vi /etc/docker/daemon.json
{
    "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
systemctl  restart docker             #重启docker
5.搜索镜像
#docker search centos
6.Docker hub下载镜像到本地
#docker pull centos
7.列出所有本地镜像
#docker images
8.删除本地镜像
#docker rmi centos
9.镜像导入导出
[root@node1 ~]# docker  save centos >/opt/centos.tar.gz  #导出镜像
[root@node1 ~]# docker  load  -i /opt/centos.tar.gz #导入镜像
二.容器管理
1.启动一个新容器
[root@node1 ~]# docker run --name  mycentos  -t  -i  centos  /bin/bash
--name  #起一个名字
-t      #分配一个终端
-i      #标准输入输出




2.退出容器





3.再次启动容器
[root@node1 ~]# docker  ps -a
[root@node1 ~]# docker  start  a36e3f8cf5fe


5. util-linux 管理容器进程
#yum install util-linux -y

#!/bin/bash
Pid=$(docker  inspect --format "{{.State.Pid}}" $1)
nsenter  -t $Pid  -u -i -n -p
#通过容器的 id查询PID 进行容器管理
#docker stop  $(docker ps -a -q)   #关闭正在运行的容器









三.Docker 网络访问

1. 自定义端口启动容器
[root@node1 ~]# docker run  -d  -p  81:80  nginx

















四.Docker 数据存储

1.挂载一个数据卷
[root@node1 ~]# docker  run -it  --name volue-test  -v  /data  centos
查看数据在物理机的存储位置
[root@node1 ~]#  docker inspect    4baccbb8dd6e

2.挂载指定目录
[root@node1 ~]# docker  run -it  --name volue-test1   -v  /opt:/opt:rw  centos


3.挂载文件到容器
[root@node1 ~]# docker  run -it  -v ~/.bash_history:/.bash_history   centos

4.数据卷容器

容器挂载一个目录
[root@node1 ~]# docker  run  -d   --name nfs  -v  /data  centos
[root@node1 ~]# docker run -it  --name  test2  --volumes-from nfs  centos

五.docker-手动构建镜像
1.启动一个容器,在容器里安装上nginx
[root@node1 ~]# docker run --name mynginx  -it  centos


2. 提交修改过的容器
[root@node1 ~]# docker commit  -m "my nginx" aed6c9b92d1d   nginx/mynginx:v1
查看镜像:

3. 修改nginx设置nginx 前台运行
[root@node1 ~]# docker run  -it --name nginxv1  nginx/mynginx:v1
[root@d5457d4454d2 /]# vi /etc/nginx/nginx.conf
daemon off;        #最上方加一条
4. 退出容器提交容器版本
[root@node1 ~]# docker ps -a
[root@node1 ~]# docker commit  -m "my nginx" d5457d4454d2    nginx/mynginx:v2

5. 启动修改过的镜像
[root@node1 ~]# docker run -d -p 81:80  nginx/mynginx:v2  nginx







六.Dockerfile 构建



1.Dockerfile 书写
[root@node1 ~]# mkdir  /opt/nginx
[root@node1 nginx]# vi /opt/nginx/Dockerfile
#This docker file
#VERSION
#Author: Jason demo
#Base image
FROM  centos
#Mintainer
MAINTAINER  demo  demo@163.com
#Commands
RUN yum install epel-release -y
RUN yum install  -y nginx
ADD index.html /usr/share/nginx/html/index.html
RUN echo "daemon off;"  >>/etc/nginx/nginx.conf
EXPOSE  80
CMD ["nginx"]
[root@node1 nginx]# echo "Hello  Word nginx!" > /opt/nginx/index.html
2.构建镜像
[root@node1 nginx]# docker  build  -t nginx/mynginx:v3  /opt/nginx/

构建成功返回


[root@node1 nginx]# docker images

3.启动镜像
[root@node1 nginx]# docker  run -d -p 82:80  nginx/mynginx:v3


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

1

主题

17

帖子

128

积分

注册会员

Rank: 2

积分
128
发表于 2020-4-30 10:50:04 | 显示全部楼层
非常全面
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

首页

手机版|关于自己|运维技术分享平台

GMT+8, 2024-12-22 10:07 , Processed in 0.080472 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

快速回复 返回顶部 返回列表