Docker - Section II

来源:互联网 发布:大麦户网站源码 编辑:程序博客网 时间:2024/05/07 07:31

9, 操作系统

1,Busybox: 是一个集成了一百多个最常用的Linux命令和工具的软件工具箱,可运行在POSIX环境的操作系统中,如Linux。

sudo docker search busybox

sudo docker pull busybox

sudo docker images

sudo docker run -it busybox


2,Ubuntu:

sudo docker search -s 10 ubuntu // -s: 只搜素那些被收藏10次以上的镜像

sudo docker search run -it ubuntu:14.04 /bin/bash

# apt-get update curl

# apt-get install curl

# apt-get install apache2

# service apache2 start

# curl 127.0.0.1


10, 支持SSH服务的镜像 |||||实验目的,在任意一台机器上,通过ssh服务来登录容器

基于commit命令创建支持SSH服务的镜像

sudo docker run -it ubuntu:14.04 /bin/bash

# apt-get update

# apt-get install openssh-server

# mkdir -p /var/run/sshd // 要正常启动SSH服务,需要目录/var/run/sshd 存在,需要手动创建

# /usr/sbin/sshd -D & // 启动服务

# netstat -tunlp //查看容器端口状态,22


# sed -ri ' s/session  required  pam_loginuid.so/#session  required  pam_loginuid.so/g'  /etc/pam.d/sshd // 全局替换

# mkdir root/.ssh

# ssh-keygen -t rsa

# id_rsa (输入需要保存key 的文件)

# cat ~/.ssh/id_rsa.pub >authorized_keys

# vi /run.sh

   #!/bin/bash

   /usr/sbin/sshd -D

# chmod +x run.sh

# exit

sudo docker commit fc1 sshd:ubuntu

sudo docker images

sudo docker run -p 10022:22 -d sshd:ubuntu /run.sh

sudo docker ps -a

登录另一台开启ssh服务的机器,通过宿主机的端口号来登陆该容器。

# ssh 10.0.2.15 -p 10022 // 利用宿主机的IP 和端口来登录容器。




11, Web 服务器与应用

1, Apache服务器

sudo docker run -it ubuntu:14.04 /bin/bash

# apt-get update

# apt-get install apache2

# service apache2 start

# echo ''Asia/Shanghai" > /etc/timezone && \dpkg-reconfigure -f noninteractive tzdata //更改系统的时区设置


# mkdir -p /var/lock/apache2 && mkdir -p /app && rm -rf /var/www/html && ln -s /app /var/www/html //用软连接的方式将首页添加到/var/www/html目录下

# cd /app

# touch index.html

# vi run.sh

   #!/bin/bash

   /usr/sbin/sshd &

   exec apache2 -D FOREGROUND

# chmod +x run.sh

# exit

sudo docker commit 2f1 apache2:ubuntu

sudo docker images

sudo docker run -i -d -p 80:80 -p 103:22 -e APACHE_RUN_USER=www-data -e APACHE_RUN_GROUP=www-data -e APACHE_LOG_DIR=/var/log/apache2 -e APACHE_PID_FILE=/var/run/apache2.pid -e APACHE_RUN_DIR=/var/run/apache2 -e APACHE_LOCK_DIR=/var/lock/apache2 -e APACHE_SERVERADMIN=admin@localhost -e APACHE_SERVERNAME=localhost -e APACHE_SERVERALIAS=docker.localhost -e APACHE_DOCUMENTROOT=/var/www apache2:ubuntu /run.sh

sudo docker exec -it 3ai /bin/bash

3ai# curl 10.0.2.15:80


others# curl 10.0.2.15:80


12, Docker 构建 Mysql 数据库

$su root

pwd: welcome

#docker search -s 10 mysql

#docker pull mysql

#docker images

#docker run -d -p 49455:3306 --name mysql -e MYSQL_ROOT_PASSWORD="welcome" mysql:latest


#docker ps -a

#docker exec -it 0db bash

0db#cd /etc/init.d

0db#mysql -u root -p -h 172.17.0.16 -P 3306

pwd:welcome

mysql>




0 0
原创粉丝点击