首页 > 其他分享 >Docker

Docker

时间:2022-08-15 16:33:14浏览次数:55  
标签:容器 宿主机 mysql 镜像 home Docker docker

docker

Docker安装与启动

1.安装可能需要的依赖
yum install -y yum-utils device-mapper-persistent-data lvm2

2.更换yum源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3.安装docker
yum install docker-ce -y

4.查看docker版本
docker -v

5.启动docker
systemctl start docker

6.关闭docker
systemctl stop docker

7.设置开机自启
systemctl enable docker

8.查看docker信息
docker info

镜像加速

vim /ect/docker/daemon.json
{
    "registry-mirrors":
    ["https://x1566319.mirror.aliyuncs.com"]
}

镜像相关命令

运程仓库下载  官方的 https://hub.docker.com/


1.镜像下载
docker pull 镜像名字:版本/tag
	docker pull centos:centos7
    docker pull  redis  # 不跟版本/tag 默认下最新的latest
    
2.查找镜像
	(1) 官网搜索 https://hub.docker.com/
	(2) docker search centos
    
3.查看本地镜像
	docker images
    
4.镜像删除
	docker rmi 镜像名字:tag/镜像id
    
5.一次性删除所有镜像
	docker rmi `docker images -q`
NAME:仓库名称
DESCRIPTION:镜像描述
STARS:用户评价,反应一个镜像的受欢迎程度
OFFICIAL:是否官方
AUTOMATED:自动构建,表示该镜像由Docker Hub自动构建流程创建的

容器相关命令

1. 查看正在运行的容器
	docker ps
    
2. 查看所有容器,无论停止还是运行
	docker ps -a
    
3. 创建容器并启动(创建容器,运行容器)
	docker run -id --name='容器名字' -v 宿主机路径:容器路径 -p 宿主机端口:容器端口 镜像名字:tag
    -i: 表示运行容器 镜像名字:tag
    -t: 表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。
    -d: 在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t两个参数,创建后就会自动进去容器)。
    --name: 为创建的容器命名。
    -v: 表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。
    -p: 表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射
    
 ### docker run -it centos:centos7
	-启动容器,自动命名,进入到容器内部,如果exit退出,容器也就结束了,不运行了
    -因为容器运行必须有一个前台进程夯住阻塞,前台进程结束,容器也就结束了
### docker run -id --name=mycentos7 centos:centos7
	-进入到容器内部操作
    	-ssh连过去(需要容器支持,安装ssh,启动,监听22端口),一般不用
        -docker exec -it 96a5 /bin/bash # 本质是在96a5容器上执行一下 bash命令
### docker run -id --name=mycentos2 -v /root/lqz:/home/lqz centos:centos7
	-以后再容器内部操作lqz文件夹和在宿主机操作是一样的
    
### docker run -id --name=myredis -p 6380:6379 redis
	-以后直接链接宿主机的6380就相当于链接容器的6379端口
    
    
#### mysql做目录映射,创建数据库,删除容器操作,再用别的容器运行,数据库还在
mkdir /home/mysql
mkdir /home/mysql/conf.d
mkdir /home/mysql/data/
 
# 创建my.cnf配置文件
touch /home/mysql/my.cnf
[mysqld]
user=mysql
character-set-server=utf8
default_authentication_plugin=mysql_native_password
secure_file_priv=/var/lib/mysql
expire_logs_days=7
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
max_connections=1000



docker run  -di -v /home/mysql/data/:/var/lib/mysql -v /home/mysql/conf.d:/etc/mysql/conf.d -v /home/mysql/my.cnf:/etc/mysql/my.cnf -p 3306:3306 --name mysqlmy -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

#3 停止容器
docker stop 容器id
# 启动容器
docker start 容器id
#4 删除容器:必须先停止再删
docker rm 容器id 容器id 容器id

#5 文件拷贝
# 从宿主机copy文件到容器
docker cp 需要拷贝的文件或目录 容器名称:容器目录
docker cp lqz.txt ff78cece7d61:/home

#从容器copy文件到宿主机
docker cp 容器名称:容器目录 需要拷贝的文件或目录
docker cp ff78cece7d61:/home/lqz.txt /root/lqz.txt

#6 查看容器详情,ip地址
docker inspect ff78cece7d61
docker inspect --format='{{.NetworkSettings.IPAddress}}' ff78cece7d61


# netstat 命令没有
yum install net-tools 安装

应用部署

# 运行mysql
docker run  -di -v /home/mysql/data/:/var/lib/mysql -v /home/mysql/conf.d:/etc/mysql/conf.d -v /home/mysql/my.cnf:/etc/mysql/my.cnf -p 3306:3306 --name mysqlmy -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7


# 运行redis
docker run -di --name=myredis5 -v /root/lqz/redis.conf:/data/redis.conf   -p 6379:6379 redis redis-server /data/redis.conf

vim redis.conf
bind 0.0.0.0
daemonize no
protected-mode no
requirepass 123456

# 运行nginx
docker run -di --name=mynginx -p 80:80 nginx

标签:容器,宿主机,mysql,镜像,home,Docker,docker
From: https://www.cnblogs.com/chunyouqudongwuyuan/p/16588753.html

相关文章

  • Docker 安装mysql 5.6
    一、dockerhub上面查找mysql镜像dockersearchmysql二、hub上拉取mysql镜像到本地标签为5.6dockerpullmysql:5.6三、使用mysql5.6镜像创建容器(也叫运行镜像)dockerru......
  • Docker卡在Docker Desktop stopped
    1、检查虚拟机-设置-处理器-虚拟化引擎  勾选前两项2、再次启动Docker以后,如果卡在starting界面点击TroubleShoot  分别尝试这两个选项,点完后,发现出现了新的状......
  • Docker收尾
    自动化部署&验证下⾯我们可以把⾃动构建镜像,以及⾃动启动服务,和⾃动化验证测试服务的过程,完全结合Jenkins持续集成的流⽔线,完全实现⾃动化的部署和过程.pipeline脚本中......
  • linux 使用docker 容器部署sqlserver2019
    前提安装完docker,安装完docker-composedocker-compose.ymlversion:"2"services:sqlserver-2019:restart:always#容器名称container_name:sqlser......
  • Docker自定义镜像Tomcat8
    一、创建目录mkdir/haolb/mydockerfile/tomcat8二、将jdk和tomcat安装的压缩包拷贝进上一步目录三、在/haolb/mydockerfile/tomcat8目录下新建Dockerfile文件FROMcentos:......
  • docker MongoDB
    dockerpullmongodockerrun--namemongo--restart=always-p27017:27017-v/mnt/mongodb/data:/data/mongo/db-v/mnt/mongodb/backup:/data/mongo/backup-v/m......
  • Springboot项目构建docker镜像发布到aliyun服务器
    一、1.先下载docker//1.先删除原本可能存在的dockeryumremove docker\         docker-client\         docker-client-late......
  • 微服务Docker打包
    微服务Docker打包Jib是Google开发的可以直接构建Java应用的Docker和OCI镜像的类库,以Maven和Gradle插件形式提供。Jib带来的是,它允许您通过简单地将插件添加......
  • (防坑)Alphafold 非docker 安装指南
    本指南适用于Linux系统。Alphafold官方也强调尽量使用Linux系统!官方提供了docker版安装步骤。Alphafold简介:强大的蛋白质结构预测。开源地址:https://github.com......
  • Docker-Desktop在Ubuntu系统中的安装问题
    Docker-Desktop在Linux系统中的安装包为DEB包.deb安装包正常情况下无法直接通过UbuntuSoftware进行安装,需要安装相应的插件/支持。当然也可以通过命令行进行安装,如:su......