系统准备:
win10 (开启Hyper-V)
docker (Docker Desktop Installer.exe)
Docker run 相关参数
-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-P: 随机端口映射,容器内部端口随机映射到主机的高端口
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
–name=“nginx-lb”: 为容器指定一个名称;
–dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
–dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
-h “mars”: 指定容器的hostname;
-e username=“ritchie”: 设置环境变量;
–env-file=[]: 从指定文件读入环境变量;
–cpuset=“0-2” or --cpuset=“0,1,2”: 绑定容器到指定CPU运行;
-m :设置容器使用内存最大值;
–net=“bridge”: 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
–link=[]: 添加链接到另一个容器;
–expose=[]: 开放一个端口或一组端口;
–volume , -v: 绑定一个卷
拉取镜像(默认拉取最新版本)
PS C:\Users\Allure> docker pull centos
#查看已经拉取到的镜像
PS C:\Users\Allure> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 0f3e07c0138f 7 weeks ago 220MB
启动指定的镜像(Linux Docker systemctl 命令无法使用的解决方案)
-tid 可以后台运行,一般组合时使用
–name 为启动的容器设置名称
–privileged=true Linux Docker systemctl 命令无法使用的解决方案
centos:latest/IMAGE ID 要启动的镜像
/usr/sbin/init Docker systemctl 命令无法使用的解决方案
显示如下方所示,即启动成功
PS C:\Users\Allure> docker run -tid --name <name> --privileged=true centos:latest/<IMAGE ID> /usr/sbin/init
#内容省略......
PS C:\Users\Allure>
进入启动的系统容器(显示如下则进入成功)
PS C:\Users\Allure> docker exec -it mycentos /bin/bash
[root@c4ae555cf7d0 /]#
安装网络工具(ifconfig、……),显示如下:
[root@c4ae555cf7d0 /]# yum install net-tools.x86_64
#内容省略......
Is this ok [y/N]: y #确认安装
#内容省略......
Installed: net-tools-x.x-x.xx.20160912git.el8.x86_64
Complete!
[root@c4ae555cf7d0 /]#
安装ssh服务,显示如下:
[root@c4ae555cf7d0 /]# yum install openssh-server
#内容省略......
Is this ok [y/N]: y #确认安装
#内容省略......
Installed: openssh-server-7.8p1-4.el8.x86_64
fipscheck-1.5.0-4.el8.x86_64
fipscheck-lib-1.5.0-4.el8.x86_64
openssh-7.8p1-4.el8.x86_64
Complete!
[root@c4ae555cf7d0 /]#
启用ssh服务
[root@c4ae555cf7d0 /]# systemctl start sshd.service
ssh服务状态(running)
[root@c4ae555cf7d0 /]# systemctl status sshd.service
● sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2019-11-25 07:21:52 UTC; 6s ago
Docs: man:sshd(8)
#内容省略......
ssh服务状态(dead)
[root@c4ae555cf7d0 /]# systemctl status sshd.service
● sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:sshd(8)
#内容省略......
补充:
A note about CentOS version 7.x or above
To enable SSHD service at boot time on CentOS version 7.x or above, run:
# systemctl enable sshd
To start SSHD on CentOS version 7.x+ or above
# systemctl start sshd.service
To restart SSHD on CentOS version 7.x+ or above
# systemctl restart sshd.service
To stop SSHD on CentOS version 7.x+ or above
# systemctl stop sshd.service
To reload SSHD on CentOS version 7.x+ or above after config changes
# systemctl reload sshd.service
To get status SSHD on CentOS version 7.x+ or above
# systemctl status sshd.service
CentOS start sshd service command
The syntax is as follows for CentOS version 4.x/5.x/6.x or older:
# service sshd start
CentOS stop sshd service command
The syntax is for CentOS version 4.x/5.x/6.x or older:
# service sshd stop
CentOS restart sshd service command
The syntax is for CentOS version 4.x/5.x/6.x or older:
# service sshd restart
CentOS find status of the sshd service command
The syntax is for CentOS version 4.x/5.x/6.x or older:
# service sshd status
安装密码工具(passwd),用于Xshell、……工具使用账号密码连接
[root@c4ae555cf7d0 /]# yum install passwd
#内容省略......
Is this ok [y/N]: y
#内容省略......
Installed: passwd-0.80-2.el8.x86_64 libuser-0.62-21.el8.x86_64 Complete!
[root@c4ae555cf7d0 /]#
修改密码流程
[root@c4ae555cf7d0 /]# passwd root
Changing password for user root.
New password: #在此输入密码,密码不显示
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: #在此再次输入密码,密码不显示
passwd: all authentication tokens updated successfully.
[root@c4ae555cf7d0 /]#
Docker配置完毕
XShell配置
连接成功,显示如下:
Connecting to 192.168.10.105:3001...
Connection established. To escape to local shell, press 'Ctrl+Alt+]'.
WARNING! The remote SSH server rejected X11 forwarding request.
Last failed login: Mon Nov 25 07:22:27 UTC 2019 from 172.17.0.1
[root@c4ae555cf7d0 ~]#