docker入门教程(搭建docker看)

简介: Docker查看系统内核和系统信息命令:

Docker

查看系统内核和系统信息

命令:

uname -r     #查看系统内核版本
cat /etc/os-release  #查看系统版本

1. 开始安装Docker

1.1.卸载旧版本

命令:

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
1.2.下载依赖安装包
yum install -y yum-utils
1.3. 配置镜像仓库
#国外的地址
yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo  
# 设置阿里云的Docker镜像仓库
yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
1.4 更新yum软件包
yum makecache fast
1.5.下载docker
yum install docker-ce docker-ce-cli containerd.io   # 安装社区版
yum install docker-ee docker-ee-cli containerd.io   # 安装企业版

一般情况下安装社区版

可能发生的错误:

Cannot find a valid baseurl for repo: base/7/x86_64

一般是因为网络出的问题,重启网卡解决

2.启动Docker

命令:

systemctl start docker   # 启动Docker
docker version           # 查看当前版本号,是否启动成功
systemctl enable docker  # 设置开机自启动
2.1.Docker的HelloWorld

pull hello-world

docker pull hello-world

运行命令:

docker run hello-world
2.2.Docker卸载
yum remove docker-ce docker-ce-cli containerd.io  # 卸载依赖
rm -rf /var/lib/docker    # 删除资源  . /var/lib/docker是docker的默认工作路径
2.3.[docker中使用centos7镜像 ]
2.3.1下载centos7
docker pull centos:centos7
2.4运行centos镜像
docker run -d -i -t -h master --name master --privileged=true <imageID> /usr/sbin/init
docker run --help 运行命令提示
run 运行示例
-d 在后台运行容器并打印容器ID
-i 设置容器的元数据 即使未连接STDIN(标准输入)也保持打开状态,分配一个交互终端
-t 作用是分配一个虚拟的终端,我的理解就是,有了-t参数,这个docker就会被分配一个终端,在docker中启动bash就会有提示符
-h 给容器添加主机名
--name 容器名字
--privileged=true 获取宿主机root权限(特殊权限-)
/usr/sbin/init 启动容器之后可以使用systemctl方法
/usr/sbin/init 这样就能启动一个一直停留在后台运行的Centos了。如果少了/bin/bash的话,Docker会生成一个Container但是马上就停止了,不会一直运行即使有了-d参数。
2.5进入容器

Docker attach

Docker attach可以attach到一个已经运行的容器的stdin,然后进行命令执行的动作。

但是需要注意的是,如果从这个stdin中exit,会导致容器的停止。

Docker exec 推荐使用
关于-i、-t参数

可以看出只用-i时,由于没有分配伪终端,看起来像pipe执行一样。但是执行结果、命令

返回值都可以正确获取


使用-it时,则和我们平常操作console界面类似。而且也不会像attach方式因为退出,导致

整个容器退出。

这种方式可以替代ssh或者nsenter、nsinit方式,在容器内进行操作。


如果只使用-t参数,则可以看到一个console窗口,但是执行命令会发现由于没有获得stdin

的输出,无法看到命令执行情况。


docker exec执行后,会命令执行返回值。(备注Docker1.3似乎有Bug,不能正确返回命令执行结果)


容器操作错误


ifconfig

bash: ifconfig: command not found


配置net-tools

yum install -y net-tools

4.伪分布式搭建环境

4.1容器
4.1.1创建三个容器
docker run -itd -h master --name master --privileged=true centos:centos7 /usr/sbin/init
4.1.2查看三个ip
docker inspect master
docker inspect slave1
docker inspect slave2
4.1.3进入master
docker exec -it master bash
4.1.4安装ssh
yum install openssh-clients
yum install openssh-server
systemctl start sshd
4.1.5打包自己的镜像
docker commit -a liyahui -m baseContainer master licentos

4.1.6使用自己的镜像

docker run -itd -h slave1 --name slave1 --privileged=true licentos /usr/sbin/init
docker run -itd -h slave2 --name slave2 --privileged=true licentos /usr/sbin/init
4.2镜像
4.2.1导出镜像
docker save -o <保存路径> <镜像名称:标签>
docker save -o ./ubuntu18.tar ubuntu:18.04
4.2导入镜像

此时,把A机当前文件夹下的ubuntu18.tar拷贝到另一台安装过docker的B机上,在B机上导入镜像:

docker load --input ./ubuntu18.tar
docker load -i ubuntu18.tar
4.2.3使用数据卷

方式一:直接使用命令来挂载 -v

docker run -it -v 主机目录:容器内目录
#测试
docker run -it -v /home/ceshi:/home centos /usr/sbin/init

5.配置阿里云镜像

5.1 进入阿里云官网,搜索容器镜像服务

30.png

5.2 执行命令
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://axvfsf7e.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

6.Docker常用命令

命令的帮助文档地址:https://docs.docker.com/engine/reference/commandline/docker/

6.1基本命令
命令:
docker version          #查看docker的版本信息
docker info             #查看docker的系统信息,包括镜像和容器的数量
docker 命令 --help       #帮助命令(可查看可选的参数)
docker COMMAND --help
6.2 docker search 搜索镜像

31.png

目录
相关文章
|
11月前
|
Kubernetes API Docker
(一)零基础小白都能懂的超全Docker入门教程之开篇
(一)零基础小白都能懂的超全Docker入门教程之开篇
|
应用服务中间件 数据库 nginx
使用Docker快速搭建Halo个人博客到阿里云服务器上[附加主题和使用域名访问、无坑系列]
使用Docker快速搭建Halo个人博客到阿里云服务器上[附加主题和使用域名访问、无坑系列]
468 1
使用Docker快速搭建Halo个人博客到阿里云服务器上[附加主题和使用域名访问、无坑系列]
|
存储 关系型数据库 jenkins
软件测试|Docker搭建测试用例平台 TestLink
软件测试|Docker搭建测试用例平台 TestLink
214 0
软件测试|Docker搭建测试用例平台 TestLink
|
应用服务中间件 测试技术 nginx
软件测试|Docker 搭建Web服务器nginx
软件测试|Docker 搭建Web服务器nginx
249 0
软件测试|Docker 搭建Web服务器nginx
|
Java 持续交付 Docker
十一、Docker搭建部署SpringCloud微服务项目Demo(二)
十一、Docker搭建部署SpringCloud微服务项目Demo
|
SpringCloudAlibaba 关系型数据库 MySQL
十一、Docker搭建部署SpringCloud微服务项目Demo(一)
十一、Docker搭建部署SpringCloud微服务项目Demo
|
jenkins Java Linux
docker搭建jenkins
自动化部署可以说是项目的必须,其中jenkins可以说是标配了。jenkins在持续集成、持续交付、持续部署方面做得都很好也就是常说的CI、CD。这篇文章就总结下使用docker来搭建jenkins的过程,并记录这中间踩过的坑,防止再踩,同时也为想要学习jenkins的同学提供一点借鉴。
434 0
docker搭建jenkins
|
SQL 存储 关系型数据库
实践-基于Docker搭建的mycat分片应用
实践-基于Docker搭建的mycat分片应用
实践-基于Docker搭建的mycat分片应用
|
SQL 存储 分布式计算
架构设计100-实践03-用Docker搭建Hive
架构设计100-实践03-用Docker搭建Hive
519 0
|
NoSQL 关系型数据库 MySQL
基于window10使用docker搭建lnmpr环境
基于window10使用docker搭建lnmpr环境
166 0
基于window10使用docker搭建lnmpr环境