docker镜像+启动

安装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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容