Docker 常见问题

1. commit 问题

  1. docker commit新镜像之后删除旧镜像

  2. docker commit不适合生成镜像

  3. 如何解决 image has dependent child images 错误

2. docker 容器分配静态ip地址与SSH

docker容器可认为就是一台虚拟机、一台服务器,外界想要访问这台服务器,肯定要设置一个ip地址,否则无法访问到该容器

docker run启动一个container的命令有一个--net的参数用于指定容器网络类型,默认使用的是bridge策略,即:

1
2
3
4
# 从与 docker0 同网段的未使用的IP中取一个作为容器的IP
docker run -it ubuntu:latest /bin/bash
等效于
docker run -it --net=bridge ubuntu:latest /bin/bash

1. 使用ssh

1. 安装必要软件

1
2
3
# 安装 Openssh
$ apt-get install openssh-server
$ apt-get install openssh-client

2. 运行ssh

1
2
3
4
5
6
7
8
9
10
11
12
# 查看是否运行
$ ps -e | grep ssh

# 启动 ssh,并设置开机自启动
$ /etc/init.d/ssh start
$ systemctl enable ssh

# 配置外部访问
$ vim /etc/ssh/sshd_config

# 重启服务
$ service ssh restart

引用

  1. 给docker容器分配静态ip地址
  2. docker容器分配静态IP
  3. 使用ssh连接docker容器