centos中即将用dnf替代yum
所以下面均用dnf命令
- 搜索centos镜像 第一即为官方镜像 默认是centos8
[root@localhost lsjspl]# docker search centos
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
centos The official build of CentOS. 5749 [OK]
....
- 拉取镜像到本地
[root@localhost lsjspl]# docker pull centos
[root@localhost lsjspl]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 0f3e07c0138f 3 months ago 220MB
- 用镜像创建一个容器
[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,后台启动
- 链接到创建好的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 ~]#
注意:
- 如果碰到Error: GPG check FAILED需要在dnf 命令最后加上如下参数 --nogpgcheck
例如dnf install passwd --nogpgcheck
- 按住ctrl+p+q 以不结束容器的方式退出容器 下面用宿主机连接容器的ssh
这篇博客介绍了如何在Docker中安装CentOS8,包括使用dnf命令搜索和拉取官方镜像,创建容器,并在容器内安装必要的软件。在安装过程中,提到了可能遇到的GPG检查失败问题及其解决办法。
1万+

被折叠的 条评论
为什么被折叠?



