#拉取镜像
[root@wcbpg ~]# docker pull centos:7.6.1810
[root@wcbpg ~]# docker run -d --name centos76pg -h centos76pg \
> -p 2222:22 \
> --privileged=true \
> centos:7.6.1810 /usr/sbin/init
324f99977717793a6825011075b8b45673e5bd9948a0206fc4c36516837678e0
[root@wcbpg ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
324f99977717 centos:7.6.1810 "/usr/sbin/init" 38 seconds ago Up 37 seconds 0.0.0.0:2222->22/tcp centos76pg
#进入Linux容器
[root@wcbpg ~]# docker exec -it centos76pg bash
# 下载基础源
[root@centos76pg /]# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 2523 100 2523 0 0 22307 0 --:--:-- --:--:-- --:--:-- 22526
# 配置epel源
[root@centos76pg /]# curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0
100 664 100 664 0 0 43 0 0:00:15 0:00:15 --:--:-- 157
[root@centos76pg /]#
[root@centos76pg /]# sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
[root@centos76pg /]# yum clean all
[root@centos76pg /]# rpm --rebuilddb
# 退出容器
[root@centos76pg /]# exit
exit
[root@wcbpg ~]# docker cp /usr/share/zoneinfo/Asia/Shanghai centos76pg:/etc/localtime
#进入Linux容器
[root@wcbpg ~]# docker exec -it centos76pg bash
[root@centos76pg /]# rm -f /etc/localtime
[root@centos76pg /]# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
[root@centos76pg /]# timedatectl set-timezone "Asia/Shanghai"
# 配置容器内的SSH
[root@centos76pg /]# yum install -y openssh-clients openssh-server initscripts net-tools
#在容器内安装其他依赖
[root@centos76pg /]#yum install -y openssh-clients openssh-server initscripts net-tools telnet which wget \
passwd e4fsprogs lrzsz sudo unzip lvm2 tree traceroute lsof file tar systemd \
bridge-utils mlocate mailx strace less mmv
[root@wcbpg ~]#yum install -y dos2unix rlwrap xdpyinfo xorg-x11-apps nmap numactl numactl-devel \
iproute rsyslog bash-completion tmux sysbench vim redhat-lsb smartmontools xinetd \
gcc make sysstat ksh binutils socat cmake automake autoconf bzr bison libtool deltarpm \
rsync libev pv subversion nload gnuplot jq oniguruma yum-fastestmirror net-snmp net-snmp-utils \
nfs-utils rpcbind postfix dovecot bind-utils bind bind-chroot dnsmasq haproxy keepalived bzr \
fio bzip2 ntp flex
[root@wcbpg ~]#yum install -y ncurses-devel libgcrypt-devel libaio libaio-devel \
perl perl-Env perl-devel perl-Time-HiRes perl-DBD-MySQL perl-ExtUtils-MakeMaker perl-TermReadKey \
perl-Config-Tiny perl-Email-Date-Format perl-Log-Dispatch perl-Mail-Sender perl-Mail-Sendmail \
perl-MIME-Lite perl-Parallel-ForkManager perl-Digest-MD5 perl-ExtUtils-CBuilder perl-IO-Socket-SSL \
perl-JSON openssl-devel libverto-devel libsepol-devel libselinux-devel libkadm5 keyutils-libs-devel \
krb5-devel libcom_err-devel cyrus-sasl* perl-DBD-Pg perf slang perl-DBI perl-CPAN \
perl-ExtUtils-eBuilder cpan perl-tests
[root@wcbpg ~]#yum install -y compat-libstdc++-33 gcc-c++ glibc glibc-common glibc.i686 glibc-devel glibc-devel.i686 \
libgcc libgcc.i686 libstdc++ libstdc++-devel libaio.i686 libaio-devel.i686 \
libXext libXext.i686 libXtst libXtst.i686 libX11 libX11.i686 libXau libXau.i686 \
libxcb libxcb.i686 libXi libXi.i686 unixODBC unixODBC-devel zlib-devel zlib-devel.i686 \
compat-libcap1 libXp libXp-devel libXp.i686 elfutils-libelf elfutils-libelf-devel compat-db \
gnome-libs pdksh xscreensaver
[root@wcbpg ~]yum install -y git python-setuptools firefox python3
[root@wcbpg ~]yum install -y java-1.8.0-openjdk* golang
# 解决agetty进程cpu占用率100%,宿主机和容器都需要执行
[root@centos76pg /]# systemctl stop getty@tty1.service
[root@wcbpg ~]# systemctl mask getty@tty1.service
Created symlink from /etc/systemd/system/getty@tty1.service to /dev/null.
#别名
[root@centos76pg /]#cat >> /root/.bashrc <<"EOF"
alias ll='ls -l --color=never'
alias ls='ls --color=never'
alias vi='vim'
EOF
#中文字体 Firefox中文乱码 yum -y install firefox
[root@centos76pg /]#yum -y groupinstall Fonts
[root@centos76pg /]#yum install -y cjkuni-ukai-fonts ibus.x86_64 ibus-libpinyin.x86_64 xorg-x11-xauth wqy-zenhei-fonts* libXfont xorg-x11-fonts* wqy*
# python
[root@centos76pg /]#mkdir -p ~/.pip
[root@centos76pg /]#cat > ~/.pip/pip.conf << EOF
[global]
index-url = https://pypi.douban.com/simple/
EOF
# 修改/etc/ssh/sshd_config和/etc/ssh/ssh_config文件
[root@centos76pg /]# sed -i 's/GSSAPIAuthentication yes/GSSAPIAuthentication no/g' /etc/ssh/ssh_config
[root@centos76pg /]# sed -i 's/GSSAPIAuthentication yes/GSSAPIAuthentication no/g' /etc/ssh/sshd_config
[root@centos76pg /]# sed -i 's/#PermitRootLogin/PermitRootLogin/g' /etc/ssh/sshd_config
[root@centos76pg /]# sed -i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config
[root@centos76pg /]# sed -i 's/#UseDNS yes/UseDNS no/g' /etc/ssh/sshd_config
#设置root用户远程登录权限
[root@centos76pg /]# sed -i s/"PermitRootLogin no"/"PermitRootLogin yes"/g /etc/ssh/sshd_config
[root@centos76pg /]# sed -i s/"PasswordAuthentication no"/"PasswordAuthentication yes"/g /etc/ssh/sshd_config
#修改Banner配置
[root@centos76pg /]# sed -i s/"#Banner none"/"Banner none"/g /etc/ssh/sshd_config
#关闭SELINUX
[root@centos76pg /]# sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config
#修改字符集
[root@centos76pg /]# echo 'export LANG=en_US.UTF-8' >> /etc/profile
# 若访问mirrors.aliyun.com很慢,那说明是DNS解析有问题,在/etc/resolv.conf中可以添加如下项目
[root@centos76pg /]#echo "
nameserver 114.114.114.114
nameserver 8.8.8.8
nameserver 223.5.5.5
" > /etc/resolv.conf
将容器导出为镜像
[root@wcbpg ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
324f99977717 centos:7.6.1810 "/usr/sbin/init" 3 hours ago Up 3 hours 0.0.0.0:2222->22/tcp centos76pg
[root@wcbpg ~]# docker commit centos76pg wcbpg:1.0
sha256:988fc4d35414567905e3fc3e012668dc5687e19c38126e952cc480cfac00ff2d
根据镜像来创建容器
[root@wcbpg ~]# docker run -d --name pghost01 -h pghost01 \
-p 2223:22 \
--privileged=true \
wcbpg:1.0 /usr/sbin/init
fc65e55e76418d89b6ee5163755090388db115614a328c952526c8c303fef3a3
[root@wcbpg ~]#
[root@wcbpg ~]# docker run -d --name pghost02 -h pghost02 \
-p 2224:22 \
--privileged=true \
wcbpg:1.0 /usr/sbin/init
6255cf65ad9aa19996bed34385848cdd6871de08c36771f5b063f5c82b5f07de
[root@wcbpg ~]#
[root@wcbpg ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6255cf65ad9a wcbpg:1.0 "/usr/sbin/init" 6 seconds ago Up 5 seconds 0.0.0.0:2224->22/tcp pghost02
fc65e55e7641 wcbpg:1.0 "/usr/sbin/init" 18 seconds ago Up 17 seconds 0.0.0.0:2223->22/tcp pghost01
324f99977717 centos:7.6.1810 "/usr/sbin/init" 3 hours ago Up 3 hours 0.0.0.0:2222->22/tcp centos76pg