一 创建容器
可以使用docker create命令新建一个容器。
[root@localhost ~]# docker create -it ubuntu:latest
5097a7a94472e22bcc38f0d2fe4a1fcf2ab49b047a261f9f62da4ac5a89c27b9
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5097a7a94472 ubuntu:latest "/bin/bash" 16 seconds ago Created dreamy_euclid
e422f73a5651 ubuntu:15.10 "/bin/bash" 2 hours ago Exited (0) 2 hours ago fervent_poincare
bf67651b183f ubuntu:latest "/bin/bash" 3 hours ago Exited (127) 3 hours ago fervent_volhard
e26a0172a0aa ubuntu:15.10 "/bin/bash" 3 hours ago Exited (0) 3 hours ago desperate_aryabhata
fc7112c18128 ubuntu:15.10 "/bin/sh -c 'while tr" 4 hours ago Exited (137) 4 hours ago infallible_kilby
8b58c26d093d ubuntu:15.10 "/bin/bash" 5 hours ago Exited (0) 4 hours ago stoic_yalow
6df454abad9a ubuntu:15.10 "/bin/echo 'Hello wor" 5 hours ago Exited (0) 5 hours ago clever_varahamihira
70574cff1a52 hello-world "/hello" 5 hours ago Exited (0) 5 hours ago stupefied_panini
使用docker create命令新建的容器处于停止状态,可以使用docker start命令来启动它。
[root@localhost ~]# docker start 5097a7a94472
5097a7a94472
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5097a7a94472 ubuntu:latest "/bin/bash" 5 minutes ago Up 42 seconds dreamy_euclid
e422f73a5651 ubuntu:15.10 "/bin/bash" 2 hours ago Exited (0) 2 hours ago fervent_poincare
bf67651b183f ubuntu:latest "/bin/bash" 3 hours ago Exited (127) 3 hours ago fervent_volhard
e26a0172a0aa ubuntu:15.10 "/bin/bash" 3 hours ago Exited (0) 3 hours ago desperate_aryabhata
fc7112c18128 ubuntu:15.10 "/bin/sh -c 'while tr" 5 hours ago Exited (137) 4 hours ago infallible_kilby
8b58c26d093d ubuntu:15.10 "/bin/bash" 5 hours ago Exited (0) 5 hours ago stoic_yalow
6df454abad9a ubuntu:15.10 "/bin/echo 'Hello wor" 5 hours ago Exited (0) 5 hours ago clever_varahamihira
70574cff1a52 hello-world "/hello" 5 hours ago Exited (0) 5 hours ago stupefied_panini
二 新建并启动容器
下面的命令输出一个“Hello World”,之后容器自动终止。
[root@localhost ~]# docker run ubuntu /bin/echo 'Hello world'
Hello world
利用docker run来创建并启动容器时,Docker在后台运行的标准操作包括:
1、检查本地是否存在指定的镜像,不存在就从共有仓库下载。
2、利用镜像创建并启动一个容器。
3、分配一个文件系统,并在只读的进行层外面挂载一层可读可写。
4、从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去。
5、从地址池配置一个IP地址给容器
6、执行完用户指定的应用程序。
7、执行完毕后容器被终止。
在容器内用ps命令查看进程,可以看到,只运行了bash应用,并没有运行其他不需要的进程。
用户可以按Ctrl+d或输入exit命令来退出容器。
root@93a1e1c730f0:/# ps
PID TTY TIME CMD
1 ? 00:00:00 bash
10 ? 00:00:00 ps
root@93a1e1c730f0:/# exit
exit
三 容器的停止和启动
1、docker stop
[root@localhost ~]# docker run -d ubuntu /bin/sh -c "while true;do echo hello world;sleep 1;done"
7c60a8165ee1f13c2397c13b399ed6560833cb3db35cc06851f0b81dd4b32a58
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7c60a8165ee1 ubuntu "/bin/sh -c 'while tr" 29 seconds ago Up 26 seconds cranky_shirley
[root@localhost ~]# docker stop 7c6
7c6
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2、docker start
处于终止的容器,可以通过docker start命令来重新启动
[root@localhost ~]# docker start 7c6
7c6
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7c60a8165ee1 ubuntu "/bin/sh -c 'while tr" 4 minutes ago Up 4 seconds cranky_shirley
3、docker restart
[root@localhost ~]# docker restart 7c6
7c6
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7c60a8165ee1 ubuntu "/bin/sh -c 'while tr" 4 minutes ago Up 2 seconds cranky_shirley
[root@localhost ~]# docker stop 7c6
7c6
四 进入容器
1、attach命令
attach命令是Docker自带的命令,如果想进入容器操作,可执行此命令。
[root@localhost ~]# docker run -idt ubuntu
f9db2f923a8cf9587c1769d847677310d726f8c82a2e89579adbf20735f2c343
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f9db2f923a8c ubuntu "/bin/bash" 12 seconds ago Up 9 seconds small_wing
[root@localhost ~]# docker attach small_wing
root@f9db2f923a8c:/#
2、exec命令
[root@localhost ~]# docker run -idt ubuntu
8b6655b34fbb926f3713a519fd764c665d16e71bac76996a5c11f0da536dc342
[root@localhost ~]# docker exec -ti 8b66 /bin/bash
root@8b6655b34fbb:/#
五 删除容器
1、可以使用docker rm命令删除处于终止状态的容器。
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
cf6b48960740 ubuntu "/bin/sh -c 'while tr" 8 seconds ago Up 5 seconds peaceful_mahavira
8b6655b34fbb ubuntu "/bin/bash" 5 minutes ago Up 5 minutes admiring_aryabhata
f9db2f923a8c ubuntu "/bin/bash" 12 minutes ago Exited (0) 5 minutes ago small_wing
7c60a8165ee1 ubuntu "/bin/sh -c 'while tr" 21 minutes ago Exited (137) 16 minutes ago cranky_shirley
93a1e1c730f0 ubuntu:15.10 "/bin/bash" 31 minutes ago Exited (0) 29 minutes ago sick_curran
[root@localhost ~]# docker rm f9d
f9d
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
cf6b48960740 ubuntu "/bin/sh -c 'while tr" About a minute ago Up About a minute peaceful_mahavira
8b6655b34fbb ubuntu "/bin/bash" 6 minutes ago Up 6 minutes admiring_aryabhata
7c60a8165ee1 ubuntu "/bin/sh -c 'while tr" 22 minutes ago Exited (137) 17 minutes ago cranky_shirley
93a1e1c730f0 ubuntu:15.10 "/bin/bash" 32 minutes ago Exited (0) 30 minutes ago sick_curran
2、如果要删除一个运行中的容器,可以添加-f 参数。
[root@localhost ~]# docker rm -f cf6
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8b6655b34fbb ubuntu "/bin/bash" 8 minutes ago Up 8 minutes admiring_aryabhata
7c60a8165ee1 ubuntu "/bin/sh -c 'while tr" 24 minutes ago Exited (137) 19 minutes ago cranky_shirley
93a1e1c730f0 ubuntu:15.10 "/bin/bash" 34 minutes ago Exited (0) 32 minutes ago sick_curran
六 导出和导入容器
1、导出容器
导出容器是指导出一个已经创建的容器到一个文件,不管此时这个容器是否处于运行状态,可以使用docker export命令,该命令格式为docker export CONTAINER。
导出容器到文件test.tar中
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a993263fcaa1 ubuntu "-t -i /bin/bash" 53 minutes ago Created grave_hodgkin
9ec4ef73572a ubuntu "-i -t /bin/bash" 53 minutes ago Created elegant_sammet
05e8791de1c7 ubuntu "-it /bin/bash" 54 minutes ago Created furious_leavitt
5097a7a94472 ubuntu:latest "/bin/bash" About an hour ago Exited (0) About an hour ago dreamy_euclid
e422f73a5651 ubuntu:15.10 "/bin/bash" 3 hours ago Exited (0) 3 hours ago fervent_poincare
fc7112c18128 ubuntu:15.10 "/bin/sh -c 'while tr" 6 hours ago Exited (137) 6 hours ago infallible_kilby
[root@localhost ~]# docker export fc > test.tar
2、导入容器
导出的文件又可以使用docker import命令导入,成为镜像。
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/httpd 2.2 3624a4b77da8 2 weeks ago 169.9 MB
docker.io/ubuntu latest 0ef2e08ed3fa 2 weeks ago 130 MB
docker.io/hello-world latest 48b5124b2768 9 weeks ago 1.84 kB
docker.io/ubuntu 15.10 9b9cb95443b5 7 months ago 137.2 MB
[root@localhost ~]# cat test1.tar |docker import - test/while
sha256:cf1473016855cd216787c3b86cc7c84b8130e6025dbf6a27414c3e43fc5c2d7c
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
test/while latest cf1473016855 43 seconds ago 118.8 MB
docker.io/httpd 2.2 3624a4b77da8 2 weeks ago 169.9 MB
docker.io/ubuntu latest 0ef2e08ed3fa 2 weeks ago 130 MB
docker.io/hello-world latest 48b5124b2768 9 weeks ago 1.84 kB
docker.io/ubuntu 15.10 9b9cb95443b5 7 months ago 137.2 MB
相关推荐
启动容器: 方法一:从镜像启动(docker run): ...(-t 选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上, -i 则让容器的标准输入保持打开) 注意:如果镜像有tag,需要在image后加:tag名
黑马商城docker容器部署命令
docker 容器的生命周期是同容器中的前置进程相关在一起的,这也是我们平时可能会遇到一些容器只是运行几秒便自动结束的原因:因为容器中没有一个常驻的前置进程,前置进程运行结束后,容器便自动退出了。 比如 ...
Docker容器的相关命令
前台上传文件到服务器后,服务器返回给前台的文件列表中出现中文乱码,所有的中文文件名...查看docker容器编码格式:执行locale命令;可以看到当前编码格式为POSIX,而这种编码格式不支持中文 解决办法:locale -a查
最近在工作时遇到一个问题,docker容器无法访问宿主机的redis,telent6379端口不通。 经排查发现,该服务器启用了防火墙,防火墙把6379的端口的访问授权给docker0网卡访问即可。 操作如下: firewall-cmd –...
Docker容器操作命令内容解析
要配置容器 IP 桥接网络,需要使用 Docker 的网络配置命令。首先,需要创建一个桥接网络: `docker network create -d bridge mybridge` 然后,需要将容器连接到桥接网络: `docker run -it --name mycontainer -...
4、Docker容器相关命令 5、镜像容器相关命令 6、容器数据卷 7、本地镜像发布到阿里云 8、本地镜像发布到私有仓库 9、docker system命令 10、docker network命令 11、常规软件安装 12、Dockerfile 13、Docker服务编排
Docker容器无法停止或杀死的问题通常发生在使用Docker管理容器时。容器一旦创建,应当可以随时被停止或删除,但某些情况下可能会出现异常行为,导致容器无法通过正常的docker stop或docker kill命令来停止。这种问题...
# 在容器中执行bash命令 docker exec -it id /bin/bash 3.安装openssh-server并启动 apt-get update apt-get install openssh-server # 启动之前需手动创建/var/run/sshd,不然启动sshd的时候会报错
一条命令重启所有已停止的docker容器 docker ps -a | grep Exited 查看所有已停止的容器 docker ps -a | grep Exited | awk ‘{print $1}’ 获取已停止容器的ID docker ps -a | grep Exited | awk ‘{print $1}...
Docker 是一个开源的应用容器引擎,基于 Go ...Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。Docker 容器通过 Docker 镜像来创建。容器与镜像的关系类似于面向对象编程中的对象与类。
并创建一个docker容器中执行docker远程服务,并且命令不用添加-H,用户无感知使用的是远程docker。所需要替换文件 里面包含 docker 、docker-client、docker-entrypoint.sh **docker** (这个文件需要修改添加如下...
"docker容器技术" Docker 容器技术是当前最流行的容器化技术之一,允许开发者在轻量级的环境中快速部署和管理应用程序。本文将详细介绍 Docker 容器技术的概念、安装、配置和基本操作。 一、Docker 简介 Docker ...
发现问题 今天在尝试修改Docker容器内文件时, 发现容器内并没有vim命令, 返回了: vim my.cnf bash: vim: command not found ...到此这篇关于解决Docker容器没有vim命令的文章就介绍到这了,更多相关Doc
使用 `docker attach` 或 `docker exec` 命令可以进入容器。例如,要进入名称为 `cent` 的容器,可以使用以下命令: ``` docker attach cent ``` 或 ``` docker exec -it cent /bin/bash ``` 导出容器 使用 `docker...
docker容器内安装软件时很慢的解决办法,用网易加速和阿里云加速提升软件安装的速度,安装ps,vi,telnet,netstat等命令,亲测!
Docker的容器命令,列出容器命令,用于回顾复习使用。 知识学了,实际工作中如果没有用到,慢慢就忘了。隔三岔五拿出来看看,哪些命令忘记了,就去再查一下。该思维导图源文件,使用的是XMIND22.09版本。