为日后使用方便,特此记录
一、 普通方法创建容器
- 用Docker的ubuntu镜像创建一个容器
docker run -d --name=testUbuntu ubuntu tail -f /dev/null
- 进入容器
docker exec -it testUbuntu bash
- 更新apt-get
apt-get update
- 安装需要的东西
#安装常用工具
apt-get install -y vim
apt-get install -y tree
apt-get install -y net-tools
#安装nginx
apt-get install -y nginx
#安装Python2
apt-get install -y python2.7
#安装Python3
apt-get install -y python3.4
#安装pip
apt-get install -y python-pip python-dev build-essential
#安装supervisor
apt-get install -y supervisor
#安装mysql
apt-get install -y mysql-server
apt install -y mysql-client
apt install -y libmysqlclient-dev
#检测安装是否成功
netstat -tap | grep mysql
- pip安装所需
pip install Django==1.11.2
pip install MySQL-python==1.2.5
pip install django-suit==0.2.25
pip install xlwt==1.3.0
二、 Dockerfile方法创建容器
也可将上面的命令做成Dockerfile,内容如下:
FROM ubuntu:latest
#注意,换行用TAB
RUN apt-get update \
&& apt-get install -y vim \
&& apt-get install -y tree \
&& apt-get install -y net-tools \
&& apt-get install -y nginx \
&& apt-get install -y python2.7 \
&& apt-get install -y python-pip python-dev build-essential \
&& apt-get install -y supervisor \
&& apt-get install -y mysql-server \
&& apt install -y mysql-client \
&& apt install -y libmysqlclient-dev \
&& pip install Django==1.11.2 \
&& pip install MySQL-python==1.2.5 \
&& pip install django-suit==0.2.25 \
&& pip install xlwt==1.3.0
然后执行
docker build -t NAME:TAG .
#如:docker build -t test:v1 . 是test镜像,v1的tag
#注意!
#1. 先执行docker login
#2. 执行build命令时,要在一个空文件夹下(如果不是空文件夹要添加.dockerignore文件)
#3. 要在有Dockerfile文件下的目录执行build命令
用了一个RUN
命令执行,是为了节省时间、减少臃肿。
解决问题
ubuntu中mysql启动报错
No directory, logging in with HOME=/
连接报错
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
#第一步
usermod -d /var/lib/mysql/ mysql
#第二步
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
#第三步
chown -R mysql:mysql /var/lib/mysql
#重启mysql即可
service mysql stop
service mysql start
参考资料:
https://yeasy.gitbooks.io/docker_practice/image/build.html
https://blog.csdn.net/wy_97/article/details/78982694
网友评论