docker安装centos8

这篇博客介绍了如何在Docker中安装CentOS8,包括使用dnf命令搜索和拉取官方镜像,创建容器,并在容器内安装必要的软件。在安装过程中,提到了可能遇到的GPG检查失败问题及其解决办法。

centos中即将用dnf替代yum
所以下面均用dnf命令

  1. 搜索centos镜像 第一即为官方镜像 默认是centos8
[root@localhost lsjspl]# docker search centos
NAME                               DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
centos                             The official build of CentOS.                   5749                [OK]   
....             
  1. 拉取镜像到本地
[root@localhost lsjspl]# docker pull centos
[root@localhost lsjspl]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              latest              0f3e07c0138f        3 months ago        220MB
  1. 用镜像创建一个容器
[root@localhost lsjspl]# docker run -d -p 5555:22 --name mydocker --privileged=true centos /usr/sbin/init
7a214d81da806a0b30043feddf71d6f63ea2cef2b0552aaf7366d3fbcc1a8df4
[root@localhost lsjspl]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                  NAMES
7a214d81da80        centos              "/usr/sbin/init"    14 seconds ago      Up 13 seconds       0.0.0.0:5555->22/tcp   mydocker

-d,后台启动

  1. 链接到创建好的docker容器
[root@localhost lsjspl]# docker exec -it mydocker /bin/bash
#这里可以看到已经连接到容器的控制台了
[root@7a214d81da80 /]# 

第五步 安装在容器里必须的软件
docker提供的镜像非常基础,缺少很多常用的命令
比如passwd ls等等 都需要自己安装

[root@7a214d81da80 /]# passwd root
bash: passwd: command not found
[root@7a214d81da80 /]# dnf install openssh* -y
...
[root@7a214d81da80 /]# dnf install passwd -y
[root@7a214d81da80 /]# systemctl start sshd
[root@7a214d81da80 /]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
30: eth0@if31: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
    link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 172.17.0.2/16 brd 172.17.255.255 scope global eth0
       valid_lft forever preferred_lft forever
#ssh 需要容器有密码
[root@7a214d81da80 /]# passwd root
Changing password for user root.
New password: 
BAD PASSWORD: The password is a palindrome
Retype new password: 
passwd: all authentication tokens updated successfully.
#按住ctrl+p+q 以不结束容器的方式退出容器 下面用宿主机连接容器的ssh
[root@localhost lsjspl]# ssh 172.17.0.2
root@172.17.0.2's password: 
Last login: Sat Jan  4 19:08:44 2020 from 172.17.0.1
#这个时候已经从宿主机连上容器了
[root@7a214d81da80 ~]#

注意:

  1. 如果碰到Error: GPG check FAILED需要在dnf 命令最后加上如下参数 --nogpgcheck
    例如
dnf install passwd --nogpgcheck
  1. 按住ctrl+p+q 以不结束容器的方式退出容器 下面用宿主机连接容器的ssh
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值