安装Gitlab
sudo docker pull gitlab/gitlab-ce:latest
sudo docker run --detach \
--hostname gitlab.example.com \
--publish 443:443 --publish 81:80 --publish 22:22 \
--name gitlab \
--restart always \
--volume $PWD/gitlab/config:/etc/gitlab \
--volume $PWD/gitlab/logs:/var/log/gitlab \
--volume $PWD/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
访问:http://gitlab.example.com:81
golang
docker pull golang
docker run -itd --name golang -v $PWD/goproject:/go/src -p 8000:8000 --link mongodb01:mongodb01 --link mysql01:mysql01 --link redis01:redis01 --restart=always golang
vue
docker pull node
docker run -itd --name nodevue -v $PWD/phproject:/var/www -p 8080:8080 --link mongodb01:mongodb01 --link mysql01:mysql01 --link redis01:redis01 --restart=always nodevue
docker run -itd --name nodevue -v $PWD/phproject:/var/www -p 8080:8080 --net lnmp --ip 172.16.12.80 nodevue
npm update
#境内源
npm install cnpm
#vue脚手架
npm install -g @vue/cli @vue/cli-init
#localhost ->0.0.0.0 docker影响端口映射
npm run dev
#
cnpm install axios
注意如果是自己生成的images需要加 /bin/bash
python 全环境+ssh通道
下载Deepo
Deepo是一个包含一系列Docker镜像的项目,这些镜像中包含了TensorFlow、Caffe和Torch等多种深度学习框架。也就是说,在这些镜像中已经包含了大部分流行的机器学习框架,只需要将镜像下载到本地,运行容器即可直接使用这些框架。
Deepo提供了GPU和CPU版本的框架,这里使用的mac以CPU的镜像为例子,对于GPU版本的镜像需要先安装Nvidia官方的nividia-docker和相应版本的NVIDIA驱动。
在github页面可以看到Deepo拥有众多的不同的镜像,以tag来区分,可以根据需要下载对应的镜像。这里以
docker pull ufoym/deepo:cpu
为例,这样会下载包含cpu版本的机器学习框架的镜像。
创建Deepo-ssh镜像
在有了Deepo镜像之后,为了方便使用,可以在Deepo镜像基础上配置ssh服务,以便于mac通过ssh连接登录到容器,以及PyCharm调用远程的python的interpreter。
登录到现有的Deepo容器,以
docker run -it ufoym/deepo:cpu /bin/bash
交互式的进入deepo容器中。
配置容器ssh连接
首先通过
apt-get install openssh-server
用于开启ssh服务的外部连接
修改SSH配置文件以下选项,去掉#注释,将四个选项启用
vi /etc/ssh/sshd_config
RSAAuthentication yes #启用 RSA 认证
PubkeyAuthentication yes #启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys #公钥文件路径(和上面生成的文件同)
PermitRootLogin yes #root能使用ssh登录
修改密码
apt-get install passwd
passwd
xxx密码
xxx确认密码
重启ssh服务,并设置开机启动:
/etc/init.d/ssh restart
清理缓存
apt-get clean
提交修改到镜像
sudo docker commit -m 'mypython3.7' -a 'lubj' CONTAINER ID
新的容器并打通22端口
docker run -d -p 2222:22 centos6-jdk7:ssh /usr/sbin/sshd -D
docker run --name python3 -v $PWD/pythonPro:/var/www --link mongodb01:mongodb01 -d --restart=always -p 2222:22 mypython3 /usr/sbin/sshd -D
直接使用
docker run --name python3 -v $PWD/pythonPro:/var/www --link mongodb01:mongodb01 -itd --restart=always -p 2222:22 python
php7.1-fpm
docker php7.1-fpm安装扩展
#bzip2扩展需要
apt-get -y install libbz2-dev
#gd扩展需要
apt-get -y install libpng-dev
apt-get install libxml2-dev
apt-get install libssl-dev
#gmp
apt-get install libgmp-dev
tar -zxvf swoole-4.3.4.tgz
cd swoole-4.3.4
whereis php
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
vim /usr/local/php/etc/php.ini
lnmp restart
镜像制作
docker pull php:5.6-fpm
- 登录到镜像,如下:
docker exec -it images_id /bin/bash
- 安装mysql依赖,如下:
docker-php-ext-install pdo_mysql
or
docker-php-ext-install mysqli
- 安装redis依赖,如下:
curl -L -o /tmp/redis.tar.gz https://github.com/phpredis/phpredis/archive/3.1.3.tar.gz
tar xfz /tmp/redis.tar.gz
rm -r /tmp/redis.tar.gz
mkdir -p /usr/src/php/ext
mv phpredis-3.1.3 /usr/src/php/ext/redis
docker-php-ext-install redis
- 安装memcached依赖,如下:
curl -O https://launchpadlibrarian.net/165454254/libmemcached-1.0.18.tar.gz
tar zxvf libmemcached-1.0.18.tar.gz
mv libmemcached-1.0.18 memcached
cd memcached
./configure --with-memcached --disable-memcached-sasl
docker-php-ext-enable memcached
- 安装mcrypt依赖,如下:
mcrypt依赖系统的libmcrypt-dev,所以需要安装一下系统依赖包
apt-get update
apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libmcrypt-dev libpng-dev
docker-php-ext-install -j$(nproc) iconv mcrypt
- 安装composer(全局)
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
adduser lubj
- 提交镜像
docker commit -m='phptester' -a='lubj' 6eea3e7e6dab php7.0:redis_composer_mysql
docker run -p 9000:9000 --name php70w -v $PWD/phproject:/var/www/html --link mysql01:mysql01 --link redis01:redis01 -itd --restart=always php:7.1-fpm
docker run -p 9000:9000 --net lnmp --ip 172.16.12.22 --name php71 -v $PWD/phproject:/var/www/html -itd php:7.1-fpm
nginx服务器
docker pull nginx
docker run -p 80:80 --name nginx -v $PWD/phproject:/var/www/html -v $PWD/conf:/etc/nginx/conf.d --link php70w:php70w -d --restart=always nginx
docker run -p 80:80 --name nginx --net lnmp --ip 172.16.12.66 -v $PWD/phproject:/var/www/html -v $PWD/configFile:/home/myconfig -d nginx
关于:FastCGI sent in stderr: "Primary script unknown"
暂时没有排查出原因 ,重新生成镜像之后,自动成功
redis服务器
docker pull redis:3.2
docker run -p 6379:6379 --name redis01 -d --net lnmp --ip 172.16.12.21 -v $PWD/configFile:/home/myconfig redis:3.2 redis-server --appendonly yes --requirepass "www.jjwxc.net"
mongodb服务器
docker pull mongo
docker run -p 27017:27017 --name mongodb01 -v $PWD/db:/data/db -d --restart=always mongo:latest
node
docker run -dit --rm --name node -p 8181:8181 -v $PWD/phproject:/usr/src/app -w /usr/src/app node
docker run -dit --restart=always --name node -p 8181:8181 -v $PWD/phproject:/usr/src/app -w /usr/src/app node
mysql5
my.cnf
# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
[mysqldump]
user=root
password=123456
docker pull mysql:5
docker run -p 3306:3306 --name mysql01 -v $PWD/conf/my.cnf:/etc/mysql/my.cnf -v $PWD/data:/mysql_data -e MYSQL_ROOT_PASSWORD=123456 -d --restart=always mysql:5
#master
docker run -p 3305:3306 --net lnmp --ip 172.16.12.35 --name master -v $PWD/configFile:/home/myconfig -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5
#slave
docker run -p 3304:3306 --net lnmp --ip 172.18.12.34 --name slave -v $PWD/conf/my.cnf:/etc/mysql/my.cnf -v $PWD/data:/mysql_data -e MYSQL_ROOT_PASSWORD=123456 -d --restart=always mysql:5
docker pull mysql:5.6
docker run -p 3356:3306 --net lnmp --ip 172.16.12.56 --name mysql56 -v $PWD/configFile:/home/myconfig -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6
ubuntu服务器启动:
docker run -d --restart=always -p 80:80 -p 3306:3306 -p 2345:2345 -p 11211:11211 -p 6379:6379 -p 9999:9999 -p 1234:1234 -ti --name Cent7 -v/Users/JessieicLu/Documents/phproject:/var/www:cached 49f7960eb7e4
centos服务器启动:
docker run -d -p 80:80 -p 3306:3306 -p 2345:2345 -p 11211:11211 -p 6379:6379 -p 9999:9999 -p 1234:1234 -p 22:22 -p 8080:8080 -it --privileged --name lnmp_swoole -v $PWD/vhost:/usr/local/nginx/conf/vhost/ 4bed5951152c /usr/sbin/init
docker run -d -p 80:80 -p 3306:3306 -p 2345:2345 -p 11211:11211 -p 6379:6379 -p 9999:9999 -p 1234:1234 -p 22:22 -p 8080:8080 -it --privileged --name Cent7Test2 -v/Users/JessieicLu/Documents/phproject:/var/www:cached d5f224905a66 /usr/sbin/init
docker run -d -p 80:80 -p 3306:3306 -p 2345:2345 -p 11211:11211 -p 6379:6379 -p 9999:9999 -p 1234:1234 -p 22:22 -p 8080:8080 -it --privileged --name Cent7Python -v/Users/JessieicLu/Documents/pythonPro:/var/www:cached d5f224905a66 /usr/sbin/init
docker run -d -p -it --privileged --name Cent7Java -v/Users/JessieicLu/Documents/JavaProject:/var/www:cached d5f224905a66 /usr/sbin/init
docker run -itd --privileged --name CoreseekLNMP -v $PWD/phproject:/var/www:cached centos:7 /usr/sbin/init
ab:
docker run -itd --privileged --name CoreseekLNMP -v $PWD/phproject:/var/www:cached centos:7 /usr/sbin/init
mycat
docker run -itd --privileged --net mycatnet --ip 172.18.0.22 --name mycat -v $PWD/mycat:/usr/local/mycat:cached centos:7 /usr/sbin/init
yum install -y java-1.7.0-openjdk
vim /etc/profile
#mycat
export JAVA_HOME=/usr
export MYCAT_HOME=/usr/local/mycat
source /etc/profile