Install docker on centos7, Alibaba Cloud image acceleration, simple use of docker

One, install docker

1.1 View the linux version

cat  /etc/redhat-release 

1.2 Install the required libraries 

# yum-utils 提供了 yum-config-manager 
# device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2
yum install yum-utils  device-mapper-persistent-data  lvm2

1.3 Setting up and using Alibaba Cloud Image Warehouse 

# 设置镜像仓库,使用阿里云镜像地址,配置存放在/etc/yum.repos.d/docker-ce.repo中
yum-config-manager  --add-repo  http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

 

 1.4 Update yum package index, install docker, start

# 更新yum软件包索引
yum makecache  fast
# 安装docker-ce(centos7),docker-io(centos6)
yum -y install docker-ce
# 启动
systemctl  start docker
# 查看状态
systemctl  status  docker
# 查看版本
docker  version

 Two, configure mirror acceleration

2.1 To find your own mirror acceleration address, you need to log in to your account to find your own

2.2 Modify acceleration configuration file

# 没有就新建配置文件,有就修改
vim /etc/docker/daemon.json

Add the following json string (fill in your own exclusive address for the address)

{
  "registry-mirrors": ["https://hq5nabsr.mirror.aliyuncs.com"]
}


# 网易云地址
{
  "registry-mirrors": ["https://hub-mirror.c.163.com/"]
}

2.3 Refresh and restart docker 

# 刷新、重启
systemctl  daemon-reload

systemctl  restart docker

Three, basic commands

3.1 Mirror command

# 列出本机所有的镜像
docker  images

# 可以跟参数
-a  //列出所有
-q  //只显示id
--digests  //显示摘要信息
--no-trunc  //显示完整信息
# 查找官方网站中某个镜像
docker  search  tomcat
# 下载tomcat镜像。后边不跟版本号,表示latest
docker  pull   tomcat
# 删除镜像,不加版本号默认是latest
docker  rmi   tomcat

# 强制删除某个镜像
docker  rmi -f  tomcat

# 强制删除多个
docker  rmi  -f tomcat  nginx

# 强制删除所有
docker  rmi  -f $(docker images -qa)

 3.2 Container commands

 3.2.1 Start an interactive container

# 新建并启动启动交互式容器
docker run -it  centos
-i  // 以交互模式运行容器,通常与-t同时使用
-t  // 为容器重新输入一个伪输入终端,与-i一起使用

--name  // 给容器起个名字
# 列出当前所有正在运行的容器
docker ps  -lq
-l  //最近运行的一个容器
-q  //只显示容器id
-n  //后边跟最近几个运行的容器
-a  //列出所有
# 启动容器
docker  start  容器ID或名字

# 重启容器
docker  restart 容器ID或名字

# 停止容器
docker stop   容器ID或名字

# 强制停止容器
docker  kill   容器ID或名字
# 删除停止的容器
docker  rm  容器ID或名字

# 强制删除某个容器(可以是运行中的)
docker  rm  -f  容器ID或名字

# 强制删除所有,包括运行中的
docker rm  -f $(docker ps  -qa)

# 同上,删除多个容器
docker ps  -qa  | xargs  docker rm

3.2.2 Starting a daemon (running in the background) container 

# 新建并启动守护式容器,也就是后台运行的进程
docker run -d  centos
# 查看容器日志
docker  logs  -f  -t  --tail  5  容器ID
-f  // 跟随最新的日志打印
-t  // 加入时间戳

--tail  // 显示最后5条日志
# 查看容器内进程
docker  top   容器id
# 查看容器内部细节
docker inspect  容器ID

3.2.3 Exit the container

# 停止并退出容器
exit

# 不停止、退出容器
ctrl+P+Q

3.2.4 Reenter an exited but not stopped container  

# 进入某个退出但未停止的容器
docker  attach   容器ID

# 同上,进入容器
docker  exec  -it  容器ID      /bin/bash

# 不进入,查询容器某个目录
docker  exec  -it  容器ID     ls  -lh  /tmp

 3.2.5 Copy the data in the container to the host

# 拷贝容器中的某个文件到主机某个目录
docker  cp     容器ID:/root/test.txt   /root

docker  cp     容器名字:/root/test.txt   /root

 3.2.6 Copy host file to docker

# 拷贝主机文件到docker
docker  cp   /root/test/test.conf     容器ID:/root/test/

docker  cp   /root/test/test.conf     容器名字:/root/test/

3.3 Container data volume: realize data sharing and data persistence between container and host

3.3.1 Command line -v add

# docker  run -it  -v  /宿主机绝对路径目录:/容器内目录    镜像名
docker  run -it  -v  /hostData:/containerData  centos

3.3.2 DockerFile add

Manually write a dockerfile file

The docker build command is executed to get a custom image
docker run image

Four, common software installation

4.1 Install mysql

# 拉取mysql
docker  pull mysql

# 查看
docker  images

# 启动运行容器
# 第一行:主机端口12345映射到docker的3306
# 第二行:主机和容器的配置文件挂载
# 第三行:主机和容器的日志目录挂载
# 第四行:主机和容器的data目录挂载
# 第五行:初始化root密码
# 第六行:后台运行mysql
docker  run  -p 12345:3306  --name  mysql
-v  /wenlong/mysql/conf:/etc/mysql/conf.d
-v  /wenlong/mysql/logs:/logs  
-v  /wenlong/mysql/data:/var/lib/mysql  
-e MYSQL_ROOT_PASSWORD=123456 
-d  mysql

Authorization may be required when using Navicat or SQLyog to connect remotely

# 登录docker
docker exec  -it  43103e45832f   /bin/bash

# 登录
mysql  -uroot -p

# 登录后授权可以从任何地方使用root用户访问
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

# 刷新权限
flush privileges;

# 退出
exit

 4.2 install redis

# 拉取redis
docker  pull redis
# 第一行:启动容器,端口号6379
# 第二行:数据目录挂载
# 第三行:配置文件目录挂载
# 第四行:后台启动redis   redis-server,配置文件是redis.conf
# 第五行:开启持久化
docker  run  -p  6379:6379  
-v  /wenlong/redis/data:/data  
-v  /wenlong/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf  
-d  redis  redis-server  /usr/local/etc/redis/redis.conf  
--appendonly  yes
# 宿主机连接redis
docker  exec  -it    运行中的容器ID    redis-cli
# 当容器退出时,数据被持久化保存
# 保存位置:标识在上边启动容器命令行第二行中
# 宿主机在/wenlong/redis/data/;容器在/data/中
vim   /wenlong/redis/data/appendonly.aof
# 登录容器查看data
docker exec  -it  运行中的容器ID  /bin/bash

You can also use the redis-desktop-manager tool to browse

Guess you like

Origin blog.csdn.net/qq_29644709/article/details/111085326