在docker里启动各种容器


docker启动容器的方式颠覆了我们传统的软件安装的方式

启动一个nginx的容器

拉取安装镜像

docker pull nginx

启动容器,看到输出一段字符串就表示成功了

docker run --name sc-nginx-1 -p 8080:80 -d --cpu-shares 10 --cpus 1 --cpuset-cpus 0 -m 10000000 nginx 

-p 8080:80:8080端口映射到80端口
–name:指定容器名字
-d:放到后台运行daemon
–cpu-shares 10:指定使用CPU的核心为10毫(总共1000毫)
–cpus 1:只能使用一个CPU核心
–cpuset-cpu 0:指定编号为0的CPU核心
-m 10000000:只能使用10000000字节的内存(10M)

docker容器可以被限制使用宿主机的CPU、网络、磁盘和内存资源

在浏览器中输入本机IP:8080就会看到如下页面:
在这里插入图片描述

docker-proxy是docker提供的一个进程,监听对外发布的端口后,监听发布的端口

[root@sc-docker docker]# netstat -anplut
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      5987/docker-proxy  

网络结构图:
在这里插入图片描述

nginx服务器的IP地址为172.17.0.2

启动一个MySQL的容器

下载指定版本的MySQL镜像

docker pull mysql:5.7.43

启动MySQL容器

docker run --name sc-mysql-1 -e MYSQL_ROOT_PASSWORD=sc123456 -d -p 3306:3306 mysql:5.7.43

-e:指定容器启动的时候指定环境变量的值(设置初始密码)

MySQL服务器的IP地址为172.17.0.3

进入MySQL容器内部

docker exec -it sc-mysql-1 bash

登录

mysql -uroot -psc123456

启动一个golang的容器

拉取镜像

docker pull golang

启动并进入golang容器,退出时删除这个容器

docker run -it --rm --name my-golang-1 golang

启动一个Python的容器

拉取镜像

 docker pull python

启动并进入Python容器,退出时删除这个容器

docker run -it --rm --name my-python-1 python

–rm:退出这个容器的时候会自动删除这个容器

启动一个redis的容器

拉取镜像

docker pull redis

启动redis容器

docker run -d --name sc-redis-1 -p 6379:6379 redis

进入redis容器内部

docker exec -it sc-redis-1 bash

安装的redis是一个Debian的系统

root@6d591016bc73:/data# cat /etc/issue
Debian GNU/Linux 11 \n \l

进入redis命令行工具

redis-cli
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 要开启所有的Docker容器,可以使用以下方法。首先,创建一个名为auto_service.sh的脚本文件,并在其中使用docker start命令来启动每个容器。例如,可以在脚本中使用以下命令来启动三个容器:/bin/docker start e64f6d63f9f9(容器id1); /bin/docker start 54ead214504(容器id2); /bin/docker start 14f00f52948e(容器id3)\[1\]。然后,将该脚本文件保存到/etc/init.d/目录下。接下来,使用chmod命令为该脚本文件添加执行权限。最后,可以通过运行该脚本文件来启动所有的Docker容器。另外,如果需要将nginx容器内的数据复制到存放数据的文件目录,可以使用docker cp命令。例如,可以使用以下命令将nginx容器内的nginx.conf和default.conf文件复制到/dockerdata/nginx目录下:docker cp my-nginx:/etc/nginx/nginx.conf /dockerdata/nginx和docker cp my-nginx:/etc/nginx/conf.d/default.conf /dockerdata/nginx/conf\[2\]。如果需要重新启动nginx容器并挂载目录,可以使用docker run命令。例如,可以使用以下命令重新启动nginx容器并挂载/dockerdata/nginx目录:docker run --privileged=true -e TZ="Asia/Shanghai" -it -d --name my-nginx -p 80:80 -v /dockerdata/nginx/html:/usr/share/nginx/html -v /dockerdata/nginx/nginx.conf:/etc/nginx/nginx.conf -v /dockerdata/nginx/conf/default.conf:/etc/nginx/conf.d/default.conf -v /dockerdata/nginx/logs:/var/log/nginx nginx:1.22.0\[3\]。这样,所有的Docker容器就会被开启。 #### 引用[.reference_title] - *1* [启动docker服务时启动所有容器](https://blog.csdn.net/flq18210105507/article/details/112253042)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [docker 开启 nginx 容器](https://blog.csdn.net/wsjzzcbq/article/details/125605993)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值