docker容器启动后修改或添加端口_docker修改容器端口-CSDN博客
容器基本操作
#启动docker systemctl start docker #关闭docker systemctl stop docker #重启docker systemctl restart docker #停止容器 docker stop 容器名称 #启动容器 docker start 容器名称 #进入容器 docker exec -it 容器名称 /bin/bash #删除容器 docker rm 容器名称 #删除镜像 docker rmi 镜像ID
SSH连接容器
在创建容器的时候给ssh连接做端口映射 6666映射的端口(外部端口,这个可以自己改) 22是容器内的默认SSH端口 PORT_A="-p 6666:22" 宿主机 ip 或域名 映射端口 账号 root 密码就是你在容器设置的密码
安装docker
复制代码保存 Docker-ALL.sh 在宿主机执行安装 docker ,安装好以后会重启电脑
#------------------- # 适合以下系统 # Mint centos ubuntu deepin #------------------- mkdir -p $HOME/DOCKER_RUN_LOCK DOCKER_RUN_LOCK="$HOME/DOCKER_RUN_LOCK" echo "安装相关依赖&以及Docker" #------------------- # Mint Linux发行版 #------------------- Mint_123(){ if [ ! -f "${DOCKER_RUN_LOCK}/.i8520_0" ];then sudo apt-get update sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common -y curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(. /etc/os-release; echo "$UBUNTU_CODENAME") stable" echo "" > /tmp/daemon.json sudo mv /tmp/daemon.json /etc/docker echo "{"registry-mirrors": ["http://hub-mirror.c.163.com"]}" | sudo tee -a /etc/docker/daemon.json sudo apt-get update sudo apt-get install docker docker-compose -y #管理员权限启动容器(用户权限) sudo usermod -aG docker $USER sudo systemctl daemon-reload sudo systemctl restart docker docker -v echo "" > ${DOCKER_RUN_LOCK}/.i8520_0 reboot else echo "你已经安装过相关依赖&以及Docker" fi } #------------------- # Deepin Linux发行版 #------------------- Deepin_123(){ if [ ! -f "${DOCKER_RUN_LOCK}/.i8520_0" ];then sudo apt-get update echo "" > /tmp/daemon.json sudo mv /tmp/daemon.json /etc/docker echo "{"registry-mirrors": ["http://hub-mirror.c.163.com"]}" | sudo tee -a /etc/docker/daemon.json sudo apt-get install docker docker-compose -y #管理员权限启动容器(用户权限) sudo usermod -aG docker $USER sudo systemctl daemon-reload sudo systemctl restart docker docker -v echo "" > ${DOCKER_RUN_LOCK}/.i8520_0 reboot else echo "你已经安装过相关依赖&以及Docker" fi } #------------------- # 判断Linux发行版 #------------------- #cat /etc/os-release 第一显示的就是系统名称 abcde_a="NAME="Linux Mint"" abcde_b="NAME="CentOS Linux"" #显示第一行 osMY=`cat /etc/os-release | sed -n 1p` if [[ ! X${abcde_a} = X${osMY} ]];then if [[ ! X${abcde_b} = X${osMY} ]];then echo "${osMY}" Deepin_123 else if [ ! -f "/etc/profile.d/.i8520_0" ] then echo "${osMY}" #关闭防火墙 systemctl stop firewalld systemctl disable firewalld #安装 zip 7z yum -y install zip unzip yum -y install epel-release yum -y install p7zip p7zip-plugins yum install -y cockpit* #添加仓库 yum install -y yum-utils device-mapper-persistent-data lvm2 #添加清华源 yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo #安装 docker cho "" > /etc/docker/daemon.json echo "{"registry-mirrors": ["http://hub-mirror.c.163.com"]}" | tee -a /etc/docker/daemon.json yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin #启动守护进程 systemctl daemon-reload systemctl restart docker systemctl start docker systemctl_start_docker="#!/bin/bash systemctl start docker" echo -e ${systemctl_start_docker} >/etc/profile.d/systemctl_start_docker.sh chmod -R 755 /etc/profile.d/systemctl_start_docker.sh echo "" > /etc/profile.d/.i8520_0 fi fi else echo "${osMY}" Mint_123 fi
创建 docker 的 centos 容器
复制代码保存 run_docker_centos.sh 看脚本注释使用
#!/bin/bash #查看已安装镜像 docker images > /tmp/docker_images_log.txt MY_LOG="/tmp/docker_images_log.txt" #------------------------------- # centos7.9.2009 #------------------------------- #查看是否有此镜像 MY_IMG_NAME_A="centos:7.9.2009" Determine_A=`cat $MY_LOG | grep "$MY_IMG_NAME_A" | wc -l` #------------------------------- # centos7.7.1908 #------------------------------- MY_IMG_NAME_B="centos:7.7.1908" Determine_B=`cat $MY_LOG | grep "$MY_IMG_NAME_B" | wc -l` #------------------------------- # 创建容器,主要修改这里按提示修改 #------------------------------- centos_centos7_9(){ #在宿主机根目录创建123共享文件夹 DOCKER_RUN_LOCK="/123" mkdir -p ${DOCKER_RUN_LOCK} #主要修改这里按提示修改 #---容器名字------------------------------- CONTAINER_NAME="mhzxsr" #---镜像名称------------------------------ REPOSITORY_TAG_NAME="centos:centos7.9.2009" #---提升权限------------------------------ xx_init='/usr/sbin/init' MY_ROM="-m 3g --memory-swap -1" #---映射端口------------------------------ PORT_A="-p 18598:18598 -p 18605:18605 -p 30002:30002 -p 30011:30011 -p 1314:1314 -p 1315:1315 -p 1316:1316 -p 1317:22" #映射共享目录 M_PATH="${DOCKER_RUN_LOCK}:/i8520" #---创建容器------------------------------ docker run -d ${MY_ROM} --name ${CONTAINER_NAME} ${PORT_A} --privileged=true -v ${M_PATH} ${REPOSITORY_TAG_NAME} ${xx_init} } #================================================================================================================== centos_centos7_7(){ #在宿主机根目录创建123共享文件夹 DOCKER_RUN_LOCK="$HOME/123" mkdir -p ${DOCKER_RUN_LOCK} #主要修改这里按提示修改 #---容器名字------------------------------- CONTAINER_NAME="mhzxsr" #---镜像名称------------------------------ REPOSITORY_TAG_NAME="centos:centos7.7.1908" #---提升权限------------------------------ xx_init='/usr/sbin/init' #---映射端口------------------------------ PORT_A="-p 1315:1315 -p 1316:1316 -p 1317:22" #映射共享目录 M_PATH="${DOCKER_RUN_LOCK}:/i8520" #---创建容器------------------------------ docker run -d --name ${CONTAINER_NAME} ${PORT_A} --privileged=true -v ${M_PATH} ${REPOSITORY_TAG_NAME} ${xx_init} } #------------------------------- # 判断是否安装了以下镜像 # centos7.9.2009 # centos7.7.1908 #------------------------------- Used_for_judgment="0" #优先使用 centos7.9.2009 if [ ! x${Used_for_judgment} = x${Determine_A} ];then echo "你已经安装了${MY_IMG_NAME_A}镜像,正在为你穿件容器......" centos_centos7_9 else #如果没有centos7.9.2009就使用centos7.7.1908 if [ ! x${Used_for_judgment} = x${Determine_B} ];then echo "你已经安装了${MY_IMG_NAME_B}镜像,正在为你穿件容器......" centos_centos7_7 else #如果两都没有就下载镜像并创建容器 echo "你没有拉取任何centos版本的镜像,正在为你拉取${MY_IMG_NAME_A} ${MY_IMG_NAME_B}" # docker pull almalinux:8.8 docker pull centos:centos7.7.1908 sleep 2 docker pull centos:centos7.9.2009 echo "" echo "" echo "镜像已下载!正在为你创建容器......" #用哪个本版的镜像就把井号去掉 #centos_centos7_9 #centos_centos7_7 fi fi
docker 的centos容器 安装ssh 使用SSH远程连centos容器
非一键脚本需要在容器中使用
yum update -y yum upgrade -y yum install passwd openssl openssh-server -y yum install initscripts -y 编辑/etc/ssh/sshd_config Port 22 AddressFamily any ListenAddress 0.0.0.0 PermitRootLogin yes PermitEmptyPasswords yes PasswordAuthentication yes #重启ssh service sshd restart #启动ssh systemctl start sshd.service #开机启动 systemctl enable sshd.service #设置容器root密码 passwd root
创建 docker 的 ubuntu 容器
非一键端脚本 需要在宿主机一条一条命令输入
#创建宿主机目录创建123文件夹作为容器的共享目录 DOCKER_RUN_LOCK="/123" mkdir -p ${DOCKER_RUN_LOCK} #主要修改这里按提示修改 #---容器名字------------------------------- CONTAINER_NAME="kdjxsr" #---镜像名称------------------------------ #ubuntu:20.04 #ubuntu:22.04 REPOSITORY_TAG_NAME="ubuntu:20.04" #---映射端口------------------------------ PORT_A="-p 1318:22 -p 1319:1319" M_PATH="${DOCKER_RUN_LOCK}:/i8520" #---创建容器------------------------------ docker run -i -t -d --name ${CONTAINER_NAME} ${PORT_A} --privileged=true -v ${M_PATH} ${REPOSITORY_TAG_NAME} #启动容器 wubantu是容器名称 docker start wubantu #进入容器 docker exec -it jlbkmsr /bin/bash
进入ubuntu容器要安装的 手工操作
#进入容器要安装的 #更新系统 apt update apt upgrade apt-get install sudo apt-get update && apt-get install -y init && apt-get clean all apt install libc-ares2 #安装ssh sudo apt install -y openssh-server language-pack-zh-hans ibus-pinyin #安装 vim编辑器 sudo apt-get install vim #配置ssh vim /etc/ssh/sshd_config #修改这些 Port 22 AddressFamily any ListenAddress 0.0.0.0 PermitRootLogin yes PermitEmptyPasswords yes PasswordAuthentication yes #修改以后保存 #重启ssh service ssh restart #sudo service ssh restart #配置 root 密码 passwd root #--------------------------------- #下面不是必须的 #创建管理员账户 ubuntu sudo useradd -m ubuntu -s /bin/bash #设置 ubuntu用户密码 sudo passwd ubuntu #设置 ubuntu 用户为管理员 sudo adduser ubuntu sudo #进入ubuntu用户命令行 su ubuntu
下面的可以不用看
docker pull rockylinux:8.6.20227707
podman 容器 使用
百度安全验证
sudo apt update && sudo apt install -y podman
sudo apt install cockpit cockpit-podman cockpit-machines
sudo systemctl start cockpit
centos 安装 podman
CentOS7安装Cockpit网页版图像化服务管理工具-CSDN博客
CentOS7安装Cockpit网页版图像化服务管理工具-CSDN博客
yum -y install podman
yum install -y cockpit*
启动服务;
# systemctl start cockpit # systemctl enable cockpit.socket Created symlink from /etc/systemd/system/sockets.target.wants/cockpit.socket to /usr/lib/systemd/system/cockpit.socket.
启动后,直接访问: ip:9090即可访问网页。默认开启的是9090端口,若要变更端口,则
vim /usr/lib/systemd/system/cockpit.socket 修改ListenStream对应的端口即可 [Unit] Description=Cockpit Web Service Socket Documentation=man:cockpit-ws(8) Wants=cockpit-motd.service [Socket] ListenStream=8990 ExecStartPost=-/usr/share/cockpit/motd/update-motd '' localhost ExecStartPost=-/bin/ln -snf active.motd /run/cockpit/motd ExecStopPost=-/bin/ln -snf /usr/share/cockpit/motd/inactive.motd /run/cockpit/motd [Install] WantedBy=sockets.target
systemctl enable --now cockpit.socket