Docker容器

目录

一、安装

1、自动化安装命令

 2、启动命令

3、安装MySQL

4、安装redis

5、将安装的镜像拉到自己的远程仓库中

 6、启动容器并进入容器

二、常用命令

三、更改镜像源


一、安装

1、自动化安装命令

官方的安装:
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

国内:
curl -sSL https://get.daocloud.io/docker | sh

 2、启动命令

手动启动命令:
systemctl daemon-reload
systemctl restart docker.service

设置服务器启动后自启动:
systemctl enable docker.service

关闭自动动:
systemctl disable docker.service

查看是否启动:
systemctl status docker.service

3、安装MySQL

docker pull mysql:8.0
备注:
docker pull mysql //默认拉取最新版本

查看是否下载成功:
docker images mysql:8.0

创建MySQL容器,并运行
docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /etc/my.cnf:/etc/mysql/my.cnf:rw -v /etc/localtime:/etc/localtime:ro --name mysql8 --restart=always -dit mysql
-p 3306:3306 #本机3306端口映射到容器3306端口
-e MYSQL_ROOT_PASSWORD=123456 #设置MySQL的root用户密码
-v /etc/my.cnf:/etc/mysql/my.cnf:rw #本机的MySQL配置文件映射到容器的MySQL配置文件
-v /etc/localtime:/etc/localtime:ro #本机时间与数据库时间同步
--name mysql8 #设置容器别名
--restart=always #当重启Docker时会自动启动该容器
-dit mysql #后台运行并可控制台接入

测试:
docker ps

进入MySQL容器:
docker exec -it mysql8 bash
mysql -u root -p #进入MySQL控制台
修改root用户密码:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

看下图:解答
查看各个用户名当前使用的身份验证插件:
select Host,User,plugin from mysql.user;
本地连接设置:
alter user root@localhost identified with mysql_native_password by '123456';
刷新:
FLUSH PRIVILEGES;
远程连接设置:
alter user root@'%' identified with mysql_native_password by '123456';
刷新:
FLUSH PRIVILEGES;


退出:
exit

 如果不设置就会在连接时报错2058

4、安装redis

下载最新版Redis镜像 (其实此命令就等同于 : docker pull redis:latest ):
docker pull redis

下载指定版本的Redis镜像 (xxx指具体版本号)
docker pull redis:xxx

 启动前需要先创建Redis外部挂载的配置文件 ( /home/redis/conf/redis.conf )
之所以要先创建 , 是因为Redis本身容器只存在 /etc/redis 目录 , 本身就不创建 redis.conf 文件
当服务器和容器都不存在 redis.conf 文件时, 执行启动命令的时候 docker 会将 redis.conf 作为目录创建 , 这并不是我们想要的结果 。

## 创建目录
mkdir -p /home/redis/conf

## 创建文件
touch /home/redis/conf/redis.conf

##创建redis容器,并启动
docker run \
-d \
--name redis \
-p 6379:6379 \
--restart unless-stopped \
-v /home/redis/data:/data \
-v /home/redis/conf/redis.conf:/etc/redis/redis.conf
 

5、将安装的镜像拉到自己的远程仓库中

第一步 登录:
docker login

第二步 镜像名格式必须是 “dockerhub用户名/镜像名”:
查看镜像名:
docker images
如果格式不对就更改:
docker tag redis:latest 1916403680/redis:6.2.6 
然后推送到远程仓库:
docker push 1916403680/redis:6.2.6

 6、启动容器并进入容器

列出所有容器,包括非运行的:
docker ps -a

启动容器(后面加容器名):
docker start redis

列出所有运行的容器:
docker ps

重启容器:
docker restart redis

停止容器:
docker stop redis

进入容器:-it 后面加上容器id
docker exec -it 2bf4b178110a /bin/bash

用该命令来查看自己安装mysql或redis的版本号是多少:
docker image inspect (docker image名称):latest|grep -i version

二、常用命令

安装完成Docker之后,这里汇总列一下常见的Docker操作命令:

  • 搜索仓库镜像:docker search 镜像名
  • 拉取镜像:docker pull 镜像名
  • 查看正在运行的容器:docker ps
  • 查看所有容器:docker ps -a
  • 删除容器:docker rm container_id
  • 查看镜像:docker images
  • 删除镜像:docker rmi image_id
  • 启动(停止的)容器:docker start 容器ID
  • 停止容器:docker stop 容器ID
  • 重启容器:docker restart 容器ID
  • 启动(新)容器:docker run -it ubuntu /bin/bash
  • 进入容器:docker attach 容器IDdocker exec -it 容器ID /bin/bash,推荐使用后者。

更多的命令可以通过docker help命令来查看。

三、更改镜像源

换成阿里云的镜像

阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台

根据上面的官网配置完,再执行下面命令:
systemctl restart docker.service

再通过一下命令查看:
docker info

 出现红框内的地址就表示换成国内镜像了

配置多个镜像:
vim /etc/docker/daemon.json

{
    "registry-mirrors": [
        "http://hub-mirror.c.163.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://registry.docker-cn.com"
    ]
}

重启:
systemctl restart docker.service

查看添加成功没:
docker info

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值