解压压缩包目录里会有四个文件
搭建yum仓库
解压docker安装包文件
把docker压缩包导入 Linux
解压docker-rpms.zip
命令:unzipdocker-rpms.zip
用Cd命令进入docker-rpms目录
命令:cddocker-rpms
执行命令:createrepo-v ./
ls看会多出来repodata 目录
命令:pwd
复制路径,在第二步需要用到
配置yum文件
命令:cd/etc/yum.repos.d/
mkdir bak
mv * bak
#把所有文件都移动到bak目录下
gedit docker.repo
#创建一个叫docker.repo的文件
#把蓝色字体复制到docker.repo文件里后保存退出(注意baseurl,每台机器可能会有变化
[docker]
name=docker
baseurl=file:///home/simpole/install/docker/docker&compose/docker-rpms
gpgcheck=0
enabled=1
清空yum缓存
命令:yum -yclean all
生成yum缓存
命令:yummakecache
安装docker软件
安装docker-ce
命令:yum -y install docker-ce
安装docker-compose
命令:yum -y installdocker-compose
启动docker服务
命令:systemctl start docker.service
成功启动docker安装成功
导入镜像
命令:docker load < 镜像名
如:docker load < docker-compose-docker-1.24.1.tar.gz
导入后通过docker images 查看镜像
创建自定义网络
为了使容器之间可以相互通信,需要创建一个自定义网络
命令:docker network create 自定义网络名称
现有镜像启动为容器
命令:docker run -dit --name=容器名称--network 网络名称 -p 映射端口:源端口-e MYSQL_ROOT_PASSWORD=数据库密码 -d 镜像id(镜像id写前几位就好,没必要全抄上)
如:docker run -dit --name=mysql --network mr -p 3306:3006 -eMYSQL_ROOT_PASSWORD=123456 -d 383
注:启动MySQL同时需要创建初始密码(-eMYSQL_ROOT_PASSWORD=123456),其他镜像不需要
查看容器
查看已启动的容器
命令:docker ps
查看所有容器,包括未启动
命令:docker ps -a
停止容器
docker stop 容器id
强制停止容器
docker kill 容器id
删除容器
docker rm 容器id
删除镜像
docker rmi 镜像id
删除docker
命令:yum remove docker-ce
配置文件拷贝:
docker cp webxxx_run_1:/usr/app/config/config.json./xx-xxxx-xxxx/
docker run -it--rm xxx/xxx-xxx-xxx:V1.2.20-el7 /bin/bash
docker stopxxx_mysql_db_1 xxx_redis_db_1
docker container prune -f
docker-compolse run xxxx
docker run -p 11000:11000 -v/home/xxx/web-docker-compose/xxx-xxx-xxx/config.json:/usr/app/config/config.json-it --rm xxx/xxx-xxx-xxx:V1.2.20-el7 /bin/bash
#删除所有未运行的容器(已经运行的删除不了,未运行的就一起被删除了)
docker stop$(docker ps -a -q)
docker rm $(dockerps -a -q)
docker exec –it[container id] /bin/bash
怀疑端口映射失败,通过lsof -i:3306查看端口占用情况,发现3306端口被占用
systemctl disablemariadb.service
db_server配置文件的用户名密码要改root
cat /lib/systemd/system/docker.service
将以上配置中的
ExecStart=/usr/bin/dockerd
修改为
ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375
通用部分
重启docker网络
systemctldaemon-reload
重启docker服务
systemctlrestart docker
即可进行本地或远程API调用