我使用以下命令创建了容器:
docker run -d -p 52022:22 basickarl/docker-git-test以下是命令:
root@basickarl:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
root@basickarl:~# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e4ac54468455 basickarl/docker-git-test:latest "/bin/bash" 7 minutes ago Exited (0) 26 seconds ago adoring_lumiere
22d7c5d83871 basickarl/docker-git-test:latest "/bin/bash" 2 hours ago Exited (127) About an hour ago thirsty_wright
root@basickarl:~# docker attach --sig-proxy=false e4
FATA[0000] You cannot attach to a stopped container, start it first
root@basickarl:~# docker start e4
e4
root@basickarl:~# docker attach --sig-proxy=false e4
FATA[0000] You cannot attach to a stopped container, start it first
root@basickarl:~# 真的没什么好说的,我希望容器能启动并保持upp。以下是日志:
root@basickarl:~# docker logs e4
root@basickarl:~# 发布于 2015-04-30 09:58:11
您正在尝试运行bash,这是一个需要tty才能运行的交互式外壳程序。使用-d在“分离”模式下运行它并没有什么实际意义,但您可以通过将-it添加到命令行来实现这一点,这将确保容器具有与其关联的有效tty,并且stdin保持连接:
docker run -it -d -p 52022:22 basickarl/docker-git-test在启动分离的容器时,您通常会运行某种长期的非交互式进程(如sshd、web服务器、数据库服务器或进程管理器,如systemd或supervisor)。
如果您正在尝试运行像sshd这样的服务,则不能简单地运行service ssh start。这将--取决于您在容器中运行的发行版--做以下两件事之一:
systemd或upstart来启动该服务。因为没有服务管理器在运行,所以这将失败。sshd,但它将在后台启动。这意味着(a) Docker命令退出,这意味着(b) service sshd start认为您的容器已经失败,因此它将清理所有内容。如果只想在容器中运行ssh,可以考虑this这样的示例。
如果您想在容器内运行sshd和其他进程,则需要调查某种进程管理程序。
发布于 2018-06-07 19:18:01
我需要的是在我的Ubuntu机器上的不同端口/3301/上使用Docker和MariaDb,因为我已经在3306上安装并运行了MySql。
要在半天搜索后执行此操作,请使用以下命令:
docker run -it -d -p 3301:3306 -v ~/mdbdata/mariaDb:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root --name mariaDb mariadb这将拉取带有最新MariaDb的镜像,创建名为mariaDb的容器,并在端口3301上运行mysql。所有数据都位于/mdbdata/mariaDb的home目录下。
登录mysql之后,可以使用以下命令:
mysql -u root -proot -h 127.0.0.1 -P3301使用的资源包括:
本文/using -it -d中的Iarks答案是关键:) /
how-to-install-and-use-docker-on-ubuntu-16-04
installing-and-using-mariadb-via-docker
mariadb-and-docker-use-cases-part-1
祝大家好运!
https://stackoverflow.com/questions/29957653
复制相似问题