Docker的安装及常用命令

3 篇文章 0 订阅
2 篇文章 0 订阅

一、docker 安装

1、卸载旧版本docker
$ sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

2、安装需要的安装包
yum install -y yum-utils


3、设置镜像仓库(默认是国外仓库)
yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo(阿里云镜像地址)

更新yum软件包索引
yum makecache fast

4、安装docker相关的 docker-ce 社区版  ee企业版
yum install docker-ce docker-ce-cli containerd.io


#如果报错package docker-ce-3:19.03.9-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed

解决方法:

进入阿里云镜像地址:https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/edge/Packages/找到你想要的或者最新的containerd.io包,拼接在阿里云地址后面,
如下:
yum install -y https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/edge/Packages/containerd.io-1.2.13-3.1.el7.x86_64.rpm
然后再执行 yum install docker-ce docker-ce-cli containerd.io 即可

5、启动docker 
systemctl start docker


6、查看版本
docker version 


7、运行一个hello world
docker run hello-world

8、查看镜像
docker images


二、卸载docker

yum remove docker-ce docker-ce-cli containerd.io(卸载依赖)
rm -rf /var/lib/docker(删除目录)


三、配置阿里镜像加速


1、登录自己的阿里云找到容器服务,找到镜像加速地址    

2、配置加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://x86tlmpq.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

四、docker的常用命令


帮助命令
docker version  #显示docker的版本信息
docker info #显示docker更加详细的信息  系统信息
docker 命令 --help   例如 docker images --help

帮助文档
https://docs.docker.com/registry/spec/api/

镜像命令
docker images 查询所有本地镜像
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world         latest              bf756fb1ae65        4 months ago        13.3kB

REPOSITORY  仓库的镜像源
TAG 镜像标签 
IMAGE ID 镜像id
CREATED 镜像创建时间
SIZE镜像大小

扩展命令
docker images -a 列出说有的
docker images -q 只查看镜像id


docker search 镜像搜索命令

docker search mysql

搜索到的信息
NAME                              DESCRIPTION                                     STARS               OFFICIAL           
mysql                             MySQL is a widely used, open-source relation…   9535                [OK]                
mariadb                           MariaDB is a community-developed fork of MyS…   3458                [OK]

docker pull  下载镜像命令 
docker pull mysql 下载mysql镜像 默认下载最新版

docker pull mysql:5.7 根据版本去下载

docker rmi  删除镜像命令

docker rmi -f id(镜像的id) 根据镜像id删除镜像
docker rmi -f id1 id2 id3 id4  批量删除镜像
docker rmi -f $(docker images -aq) 删除所有的镜像


容器命令

有了镜像才可以创建容器  下载一个centos容器测试学习

docker pull centos 下载centos
docker run [可选参数] images

#参数说明
--name="name" 容器名称  来区分容器
-d  后台方式运行
-it 使用交互方式运行,进入容器查看内容
-P  随机指定端口
-p  指定容器的端口  -p 8080:8080
        
    -p ip:主机端口
    -p 主机端口:容器端口  (常用的)
    -p 容器端口

docker run -it centos /bin/bash  使用交互方式启动并进入容器

退去命令
exit  #直接退出容器并停止容器
Ctrl + p + q   #退出且不停止容器

列出所有运行的容器
docker ps     列出当前正在运行的容器
docker ps -a      列出所有的容器
docker ps -aq      列出所有的容器id

删除容器
docker rm 容器id           不能删除正在运行的容器
docker rm -f 容器id            根据容器id删除镜像
docker rm -f $(docker ps -aq)   删除所有的容器

启动和停止容器命令
docker start 容器id        启动容器
docker restart 容器id      重启容器
docker stop 容器id         停止容器
docker kill 容器id         杀掉容器

常用命令
后台启动程序
docker run -d centos

查看日志
docker logs -tf --tail number 显示日志条数


查看容器中的进程信息
docker top 容器id

查看镜像元数据
docker inspect id(容器id)

进入容器内命令
方式一:docker exec -it 容器id /bin/bash

方式二:docker attach 容器id

从容器拷贝文件到主机上
docker cp 容器id:容器内地址 主机地址


使用数据卷技术,将容器里的数据和服务器里的数据同步

docker run -it -v /home/ceshi:/home centos /bin/bash

将容器/home 里的数据 挂在到服务器的/home/ceshi文件夹上


启动mysql
docker run -d -p 3310:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysq0l mysql:5.7

实现多个数据库数据同步
docker run -d -p 3311:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysq02 --volumes-from mysql01 mysql:5.7
将mysql01的数据挂载到mysql02实现数据同步


-d 后台运行
-p 端口映射
-v 数据卷挂载
-e环境配置

容器内路径
具名和匿名挂载

#匿名挂载
-v 容器内路径  不用指定服务器内路径就可以挂载

查看所有卷的情况
docker volume ls

#具名挂载 就是给数据卷起个名字
-v 卷名:容器内路径  启动
查看一下这个卷所在的位置
docker volume inspect 卷名

#挂载方式区分
-v 容器内路径              匿名挂载 
-v 名字:容器内路径          具名挂载
-v /宿主机路径:容器内路径      路径挂载

Dockerfile
Dockerfile就是构建镜像的脚本

dockerfile指令
FROM  #基础镜像一切从这开始
MAINTAINER  #镜像是谁写的, 姓名+邮箱
RUN    #镜像构建的时候需要运行的命令
ADD    #步骤,例如  tomcat镜像,添加内容
WORKDIR   #镜像的工作目录
VOLUME   #挂载的目录
EXPOST   #暴露的端口
CMD   #指定这个容器启动的时候要运行的命令,只有最后一个会生效,可被替换
ENTRYPOINT   #指定这个容器启动的时候要运行的命令,可以追加命令
ONBUILD   #当构建一个被继承的DockerFile这个时候会运行ONBUILD
COPY      #类似ADD,将我们文件拷贝到镜像中
ENV   #构建的时候设置环境变量
docker build -f dockerfile -t mycentos:0.1 .   构建我们的dockerfile 命令


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值