docker

1|0Docker安装与启动:

(1)yum 包更新到最新

# yum remove docker docker-common docker-selinux docker-engine # rm -rf /var/lib/docker sudo yum update

(2)安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

(3)设置yum源为阿里云

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

(4)安装docker

sudo yum install docker-ce

(5)安装后查看docker版本

docker -v

(6)启动docker

systemctl status docker #查看docker状态 systemctl start docker #启动docker systemctl stop docker #停止docker

7 拉取镜像

docker pull centos:7 #拉取centos7镜像,冒号后面跟的是版本,不写默认为最新 docker pull redis #拉取redis镜像 docker pull mysql:5.7 #拉取mysql5.7镜像

8查看本地镜像

docker images

9 运行成容器

#运行cento7镜像成容器 docker run -di --name=centos centos:7 #运行redis镜像成容器 docker run -di --name=myredis redis

10 查看正在运行的容器

docker ps

11 进入容器

docker exec -it 容器id号 /bin/bash

2|0docker 国内源配置:

1.进入容器

docker exec -it 容器id号 /bin/bash

2.更新

apt-get update

3.安装vim

apt-get install vim

4.退出容器

exit

5.扫码进入阿里云镜像站:https://cr.console.aliyun.com/cn-shanghai/instances/mirrors

6.进入 /etc/docker 文件夹

cd /etc/docker

vim /etc/docker/daemon.json

#a模式编辑
{ "registry-mirrors": ["https://r7qtg6pt.mirror.aliyuncs.com"] }

sudo systemctl daemon-reload
sudo systemctl restart docker

3|0镜像相关操作:

1 查找镜像

docker search 镜像名称

2 拉取镜像,指定标签 tag

docker pull centos:7 #如果不指定标签,会下载最新 docker pull centos docker pull centos:latest

3 查看本地镜像

docker images # 等同于 docker image ls

4 删除镜像

docker rmi 镜像ID # 可以同时删多个

5 删除所有镜像

# 查出所有镜像的id号 docker images -q docker rmi `docker images -q`

4|03 容器相关操作:

1.查看正在运行的容器

docker ps

2.查看所有容器

docker ps -a

3.查看最后一次运行的容器

docker ps -l

4.启动停止的容器

docker start id/名字

5.停止运行的容器

docker stop 7d5e

6.停止所有在运行的容器

docker stop `docker ps -q`

4|1 run运行容器:

# 运行容器(其实是两步:创建容器:create,运行容器:run) -如果容器没有创建,直接执行run,就会创建并运行,所以你只需要会run就行了 -run 的时候,有很多参数 -i:表示运行容器 -t:表示容器启动后会进入容器命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。 -d:在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t两个参数,创建后就会自动进去容器) --name :为创建的容器命名,如果不写,随机生成一个名字 -v:表示目录映射关系(前者是宿主机目录,后者是容器的目录),可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。 -p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射 docker run -id # 不会进入到容器内部 docker run -it # 会进入到容器内部 # 创建一个python3.9容器---》不进入 docker run -id --name python3 python:3.9 # 启动一个centos容器,名字叫mycentos,并且进入 docker run -it --name=mycentos centos:7 yum install vim -y # 在容器中装了vim软件 exit # 退出,容器停止了 ######重要 # 如果是it进入容器---》容器会开启一个进程处理我:/bin/bash python 如果在容器中敲exit退出了这个进程,这个进程就结束了---》容器会停止---》容器要运行,必须有个前台进行在运行,并且是夯住(阻塞)的---》否则容器就听了 # 启动一个centos容器,名字叫mycentos,不进入 docker run -id centos:7 # 启动容器 docker start mycentos # 进入到容器内部(本质是让容器执行命令) docker exec 容器id 命令 docker exec f82e8578b9b1 ls docker exec -it f82e8578b9b1 /bin/bash # 进入到容器内部 # 退出 exit

4|2-v目录映射:

1 运行容器并做映射(宿主机--》有docker软件) docker run -id --name=lqzcentos -v /home/lqz/:/home/ centos:7 #docker run -id --name=lqzcentos -v /home/lqz/aa.txt:/aa.txt centos:7 2 进入到容器内部 docker exec -it lqzcentos /bin/bash 3 到home路径下 cd /home 4 容器内部修改文件---》会影响外部 5 外部修改文件---》影响内部 # 好处是,后期咱们部署django项目 有个django容器,做好映射,代码放在宿主机上即可,以后更新了代码,只要重启容器,代码就是最新了 运行mysql容器---》mysql配置文件放在宿主机上做好映射 mysql容器---》表数据,放到容器中---》如果删了容器---》数据库全没了 表数据,放在宿主机上---》把容器删除---》表数据还在----》再启动一个容器做好映射---》数据都还在 # -v参数:目录映射 docker run -id --name=lqz -v /home/lqz:/lqz centos:7 以后无论在宿主机还是容器中修改当前目录下的文件,都会相互影响

4|3 -p 端口映射

eg:将mysql 3306端口映射为3307

# -p参数:端口映射 容器中启动一个mysql5.7 --》容器中的3306监听,宿主机3306没人监听,做端口映射后,宿主机的3306就被docker的这个容器监听了 # 启动的mysql的root密码是123456 # 启动mysql容器 docker run -id --name=mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7 # netstat -nlp |grep 3307 查看本机80端口占用情况 # 以后访问宿主机80端口就等于访问容器的3306端口

__EOF__

本文作者xxxx
本文链接https://www.cnblogs.com/Hao12345/p/17623950.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   秃头不爱学  阅读(14)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示