docker 安装常用环境

一、 安装linux(完整)

目前为止docker hub 还是被封着,用阿里云、腾讯云镜像找一找版本直接查就行

默认使用latest最新版

bash 复制代码
 #:latest 可以不写
docker pull centos:latest 
# 拉取后查看 images
docker images
#给镜像设置标签
# docker tag [images的IMAGE_ID列的值] [名字:版本]
# 例如:
 docker tag 5d0da3dc9764 mycentos:V1
 # 复制镜像
#docker commit -m= "描述信息" -a="作者" [要复制的images的IMAGE_ID列的值] [名字:版本]
# 例如
docker commit -m="test" -a="vace" 5d0da3dc9764 vace/centos:v1

# 删除image 
#docker rmi [IMAGE_ID的值或者 名字:版本]
#例如
docker rmi 5d0da3dc9764 

docker 启动镜像

bash 复制代码
# -i 交互
# -t 终端
# -d 可后台运行
# --name 生成container 的名字
# docker run -itd --name="[自定义名字]"  [image的id 或者镜像名字:版本号]
# 例如
docker run -itd --name="testMyCentos"  mycentos:V1
# 查看启动的程序
docker ps
# 查看所有程序
docker ps -a

#启动的老三样
# docker start [container的id或者name] 这里的id就不是image的id了,不是同一个东西喔
# 例如
docker start 6d6981426274
docker restart 6d6981426274
docker stop 6d6981426274
# 查看docker 的进程
docker top 6d6981426274
#查看docker 的底层信息
docker inspect 6d6981426274
#移除container
#docker rm   [container的id或者name]
#例如
docker rm 6d6981426274

进入镜像中

bash 复制代码
docker attach
# exec 的时候退出不会停止container 但attach会
docker exec
#进入后就是一个正常的系统啦

二、 安装ubuntu(精简)

bash 复制代码
# 拉image
docker pull ubuntu:latest
# 查询
docker images
# 运行
docker run -itd --name myUbuntu ubuntu
#查容器
docker ps

三、 安装nginx (精简)

bash 复制代码
docker pull nginx:latest
docker images
# -d 可后台运行
# -p 指定物理机端口号和容器端口号进行绑定 -P不指定端口号(默认)
docker run --name myNginx -p 8080:80 -d nginx

4. 安装mysql

bash 复制代码
docker pull mysql:8.0.19
docker images
docker run -itd --name myMysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

进入容器添加用户权限

bash 复制代码
# 进入容器
docker exec
#输入密码 MYSQL_ROOT_PASSWORD的值,这里是 123456
mysql -uroot -p
#进入mysql 创建用户,外网可访问
CREATE USER 'user'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
GRANT ALL PRIVILEGES ON *.* TO 'user'@'%';
show grants for 'user'@'%';
FLUSH PRIVILEGES;
# 退mysql
exit;
# 退容器
exit;

5. 网络连接

创建网络连接可以允许容器间的互相通信

bash 复制代码
docker network create -d bridge myNetwork

# 创建network 连接
# 方法一
docker network connect myNetwork myMysql
docker network connect myNetwork myNginx
#重新启动容器
docker restart myMysql
docker restart myNginx

# 方法二 在创建容器的时候直接添加网络 --network
#docker run -itd --name myMysql --network myNetwork -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
#docker run --name myNginx -p 8080:80 -d nginx

调试

bash 复制代码
进入其中一个容器
docker exec
apt-get update
apt-get install inetutils-ping
ping myNginx


相关推荐
穷人小水滴1 小时前
用容器编译 VirtualBox 虚拟机软件 (ArchLinux, podman)
linux·容器·virtualbox
EatFans1 小时前
Docker 实战部署:从本地镜像到云服务器,一篇走通 FastAPI + Celery + MySQL + Redis + Nginx
docker·fastapi
judezh1 小时前
api 容器一直 unhealthy?我把一个 Agent 运行时的健康检查逐条拆了,查出四个问题
运维·docker
暗不需求1 小时前
Docker 入门:从「光盘与 DVD」到全栈项目容器化实战
docker·容器·面试
春天花会开1312 小时前
内网 HTTPS 部署实战:私有 CA + Nginx 反向代理全流程复盘
运维·nginx·https
AllFiles2 小时前
K8s Node Exporter 异常 Write 超时排查实录
运维·后端·kubernetes
探索云原生2 小时前
一个 Deployment 就能跑 vLLM,为什么还需要 KServe?
docker·ai·云原生·kubernetes·go
虎头金猫5 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
分布式存储与RustFS6 天前
MinIO 官方 Docker 镜像被移除:依赖它的项目该怎么办
docker·云原生·devops·对象存储·minio·分布式存储
AI职业加油站6 天前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展