Dockerfile构建随记

2020-11-06  本文已影响0人  菜的无法无天
export JAVA_HOME=/usr/local/jdk1.8.0_221
export PATH=${PATH}:${JAVA_HOME}/bin:
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo
5.清除文件并重建元数据缓存
yum clean all
yum makecache
6.最后更新软件包,这一步要下载安扎ung或升级一百多个软件包,比较费时间,大概三五分钟吧!
yum update -y
cp  /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime

for ssh

yum安装ssh客户端

 yum -y install openssh-clients

ssh root@127.0.0.1

root@127.0.0.1's password: 

for sshd


 yum install -y passwd openssl openssh-server
 
/usr/sbin/sshd

启动sshd
    /usr/sbin/sshd
    这一步,若报错,如
        Could not load host key: /etc/ssh/ssh_host_rsa_key
    则使用如下名令
        ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key 
        ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key
        ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key
    再次执行,便是启动了

ssh 无密码登录


 ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
 chmod 0600 ~/.ssh/authorized_keys
ENTRYPOINT ["sh", "/usr/local/bin/entrypoint.sh"]

CMD /root/startup.sh

entrypoint.sh 脚本末尾貌似必须是

exec $@
# 创建网络
docker network create --subnet=192.18.0.0/16 mynetwork
# 运行容器 设置主机名和ip
 docker run -it --rm -h master --net mynetwork --ip 199.18.0.2  042324fdbc6e /bin/bash

问题描述
执行docker run image-id bash后,容器退出

解决方法
docker容器的主线程(dockfile中CMD执行的命令)结束,容器会退出

有以下几种解决方法

#使主进程无法结束
docker run -d centos /bin/bash -c "while true;do echo hello docker;sleep 1;done"

#使用交互式启动
docker run -i [CONTAINER_NAME or CONTAINER_ID]

#使用后台模式和tty选项
docker run -dit [CONTAINER_NAME or CONTAINER_ID]

构建dockefile代码仓库

上一篇 下一篇

猜你喜欢

热点阅读