docker下拉(pull)镜像和生成容器,文章尾部有常用的linux命令

目录

1:docker镜像和容器是什么

2:docker初始化个容器,并进入容器安装mariaDb和httpd

1:用远程工具SecureCRT登录docker

2:拉取CentOS镜像并初始化一个容器

a:拉取镜像(这一步可能会有点久)

b:查看镜像

c:生成容器(我命名为centos74 ,镜像名centos )

d:进入容器

3:安装MariaDB

1:查询有没有安装过mariaDB

2:删除安装的mariaDB

3:更改数据源,用yum安装

4:安装httpd

5:安装php

3:测试端口可不可以访问

4:敲黑板

5:下一章使用spring boot的搭建安全的后台maven项目


先说说这篇文章看完你能学习到什么吧

1:docker镜像和容器是什么,2:docker初始化个容器,并进入容器安装mariaDb和httpd和php,3:测试端口可不可以访问,4:敲黑板
1:docker镜像和容器是什么

docker镜像是一个集成可运行环境的快照。而docker容器是一个可运行的载体。可以说一个镜像可以生成多个容器,镜像是基础,容器是多态。我们可以自己生成镜像,并上传到docker官网(Docker: Accelerated Container Application Development),然后通过docker pull命令进行领取。

2:docker初始化个容器,并进入容器安装mariaDb和httpd
1:用远程工具SecureCRT登录docker

主机地址192.168.99.100
用户名:docker 
密码: tcuser

2:拉取CentOS镜像并初始化一个容器
a:拉取镜像(这一步可能会有点久)

docker pull centos

b:查看镜像

docker images查询所有镜像,这里会列出所有的镜像信息,包扣镜像id,镜像名。你可以通过容器id或者容器名启动镜像。

c:生成容器(我命名为centos74 ,镜像名centos )

docker run -d -p 5000:22 -p 8888:80 --name centos74 --privileged=true centos /usr/sbin/init

c->1:这里的-p后面是端口映射,例如5000:22是把容器的22端口映射到宿主机的5000,也就是我们可以通过5000访问到容器的22

c->2:启动这步可能会遇到的问题

c->2:1:  cgroups: cannot find cgroup mount destination: unknown.

解决这个问题:

在docker生成容器前运行:

docker run --privileged=true

sudo mkdir /sys/fs/cgroup/systemd

sudo mount -t cgroup -o none,name=systemd cgroup /sys/fs/cgroup/systemd


c->2:2:/usr/bin/docker-current: Error response from daemon: driver failed programmi

解决这个问题:重启docker

d:进入容器

docker exec -it centos74 /bin/bash

3:安装MariaDB
1:查询有没有安装过mariaDB

rpm -qa | grep Maria*

2:删除安装的mariaDB

yum -y remove mari*

3:更改数据源,用yum安装

a:vim /etc/yum.repos.d/mariadb.repo(国外的源太慢了,我用了国内的,参考下http://mirrors.ustc.edu.cn/help/mariadb.html)

b:插入以下内容保存(也可以自己去寻找适合的版本https://downloads.mariadb.org/mariadb/repositories/#distro=CentOS&distro_release=centos7-ppc64le--centos7&version=10.3)
# MariaDB 10.2 CentOS repository list - created 2017-07-03 06:59 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = https://mirrors.ustc.edu.cn/mariadb/yum/10.2/centos7-amd64
gpgkey=https://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1

c :开始安装

yum install MariaDB-server MariaDB-client

d:启动

systemctl start mysql

e:mysql -uroot -p输入密码

4:安装httpd

yum install httpd

systemctl start httpd

5:安装php

yum install php
yum install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc
systemctl restart httpd

3:测试端口可不可以访问

vi /var/www/html/info.php
<?php
    phpinfo();
?>
24:访问
http://192.168.99.100:8888/info.php

4:敲黑板

1:端口映射除了初始化容器-p 5000 22这种方式还有其他方法吗?

答:有的,可以在进入容器后运行

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 9000 -j DNAT --to-destination 172.17.0.2:9000

这里的172.17.0.2:9000是容器的端口,前面的9000是映射到宿主机的端口。

2:linux的常用命令有哪些

答:

a:全局查找文件命令

find  / -name pp.txt

b:日志滚动查看命令

tail -f xx.log

c:后台挂载启动程序名

nohup java -jar xx.jar &

d:查询类型任务状态

ps -ef | grep java

e:centos7启动和状态和停止服务的命令

systemctl status mysql

systemctl start mysql

systemctl top mysql

f:安装命令

yum install mysql

wget https://ftp.gnu.org/gnu/wget/wget-1.21.2.tar.gz

g:解压

tar -xzvf wget-1.21.2.tar.gz

h:编译

./configure

i:安装

make

j:查询服务所在路径

whereis httpd

k:添加环境变量

# vim /etc/profile
添加一下内容:
export MONGODB_HOME=/usr/local/mongodb
export PATH=$MONGODB_HOME/bin:$PATH

让属性生效

source /ect/profile

l:设置redis进行systemctl启动

1,在 /etc/systemd/system 下新建redis.service,并添加一下内容:
注意修改 /usr/local/redis-6.2.1/src 为你自定义安装的redis目录。

[Unit]
Description=Redis
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/redis-6.2.1/src/redis-server /usr/local/redis-6.2.1/redis.conf
ExecReload=/usr/local/redis-6.2.1/src/redis-server -s reload
ExecStop=/usr/local/redis-6.2.1/src/redis-server -s stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target

2,systemctl daemon-reload # 加载服务配置文件
3,然后systemctl start redis启动即可。

m:设置mongo,systemctl启动(原理同上)

[Unit]

Description=mongodb

After=network.target remote-fs.target nss-lookup.target

[Service]

Type=forking

ExecStart=/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/etc/mongodb.conf

ExecReload=/bin/kill -s HUP $MAINPID

ExecStop=/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/etc/mongodb.conf --shutdown

PrivateTmp=true

[Install]

WantedBy=multi-user.target

5:下一章使用spring boot的搭建安全的后台maven项目
  • 18
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这个命令用于从 Docker 镜像仓库中拉取(下载)一个指定的镜像。在这个例子中,我们使用 `alpine` 作为镜像名称,它是一个基于 Alpine Linux 发行版的 Docker 镜像。 要拉取一个 Docker 镜像,可以使用以下命令: ``` docker pull [OPTIONS] NAME[:TAG|@DIGEST] ``` 其中,`OPTIONS` 是一些选项参数,可以不指定;`NAME` 是镜像的名称,`TAG` 是镜像的标签,可以省略,默认为 `latest`;`DIGEST` 是镜像的 SHA256 哈希值,也可以作为镜像的唯一标识符使用。 例如,要拉取 `alpine` 镜像的最新版本,可以执行以下命令: ``` docker pull alpine ``` 如果要拉取一个指定版本的镜像,可以使用 `<name>:<tag>` 的格式,例如: ``` docker pull alpine:3.13.5 ``` 这将拉取 `alpine` 镜像的 `3.13.5` 版本。 ### 回答2: "Docker pull alpine" 是一个用于从Docker Hub下载并安装alpine镜像命令。 Alpine是一个轻量级的Linux发行版,它非常小巧且安全。Docker Hub是Docker官方提供的一个注册服务器,包含了大量的Docker镜像。 通过执行该命令,我们可以将alpine镜像拉取到本地环境中。这意味着我们可以在我们的机器上运行基于alpine的Docker容器了。 Docker通过分层存储来管理镜像,所以当我们执行"docker pull alpine"命令时,它会检查本地是否已经存在这个镜像。如果不存在,Docker就会从Docker Hub上下载这个镜像的所有依赖层,并在本地创建这个镜像。如果本地已经存在这个镜像Docker只会拉取缺失的依赖层。 拉取镜像需要一定的时间,这取决于网络连接以及镜像的大小。当镜像下载完毕后,我们就可以使用它来创建和运行容器了。 总而言之,"docker pull alpine"命令可以将alpine镜像下载到本地,以便我们能够使用该镜像构建和运行Docker容器。 ### 回答3: "Docker pull alpine" 是用于从Docker Hub上拉取Alpine镜像命令。Alpine是一个轻量级的Linux发行版,因其小巧、安全、高效而备受欢迎。 运行这个命令后,Docker会从Docker Hub的仓库中查找`alpine`镜像并拉取到本地。Docker Hub是一个存储和分享Docker镜像的平台,我们可以在其中找到各种类型的镜像。 Alpine镜像是一种经过精简的操作系统镜像,它只包含了最基本的功能和组件,文件大小小于5MB。这使得Alpine成为构建和部署容器化应用的理想选择。它可以快速启动,占用资源很少,并且能够提供高度安全的环境。 `docker pull alpine`命令将从Docker Hub下载最新版本的Alpine镜像并保存到本地。如果本地没有这个镜像Docker会自动下载它。随后,我们就可以使用这个镜像来创建、运行和管理容器。 总之,"docker pull alpine"命令就是通过Docker Hub下载并获取到一个轻量级的Alpine镜像,该镜像提供了一个基础可靠的环境,适合用于构建和部署容器化应用程序。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值