Docker

systemctl start docker
systemctl restart docker

docker --help
docker version
docker info
docker command --help

docker images
docker images -a
docker images -q
docker images -aq

docker search
docker search mysql
docker search mysql --filter=STARS=3000

docker pull
docker pull --help
docker pull mysql
docker pull mysql:5.7

docker rmi -f ID
docker rmi -f ID1 ID2 ID3
docker rmi -f $(docker imags -aq)

docker run --help
docker run image1
docker run -d centos ^ backend start, stop without frontend


Example

docker pull centos
docker run -it centos /bin/bash ^enter container
exit ^exit container
Ctrl+P+Q ^container on exit

docker ps ^list all the container
docker ps -a

docker rm containerid ^remove container
docker rm -f $(docker ps -aq) ^remove all container
docker ps -a -q | xargs docker rm

docker start containerid ^start container
docker restart containerid ^restart container
docker stop containerid ^stop container
docker kill containerid ^kill container

docker logs --help

docker top --help ^check container process info
docker top containerid

docker inspect --help ^check container data
docker inspect containerid

docker exec -it containerid /bin/bash ^enter container
docker attach containerid ^enter container

docker cp containerid:/home/test.java /home ^cp container file to host,local


!deploy nginx

docker search nginx
docker pull nginx
docker images
docker run -d --name nginx01 -p 3344:80 nginx
docker ps
curl localhost:3344

!deploy tomcat

#docker run -it --rm tomcat:9.0 ^test only, delete immediately after use
docker pull tomcat
docker images
docker run -d -p 3355:8080 --name tomcat01 comcat ^minimum tomcat, can’t be right
cd webapps.dist
cp -r webapps.dist/* webapps ^copy file to webapps


!deploy es + kibana
#hub.docker.com search: elasticsearch check how to run
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e “discovery.type=single-node” elasticsearch:7.6.2

curl localhost:9200

docker stats

docker stop 7e2469973535 ^es id

docker run -d --name elasticsearch02 -p 9200:9200 -p 9300:9300 -e “discovery.type=single-node” -e ES_JAVA_OPTS=“-Xms64m -Xmx512” elasticsearch:7.6.2ii


!visual GUI
portainer

Rancher ^for CI/CD

UnionFS layer

docker pull redis

docker commit --help
docker commit -a=“author” -m=“add webapps appliacation” containerid to tomcat_jack:1.0
socker images

CONTAINER DATA VOLUME
docker run -it -v hostDirectry:countainerDirectry -p
docker run -it -v /home/test:/home centos /bin/bash
docker inspect coutainerid

docker run -d -p 3310:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/varlib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7
sqlyog #connect to 3310, mapping to 3306

#named mount -v containerDirectory
&anonymous mount -v volumename:containerDirectory
&specified path mount -v /hostDirectory::containerDirectory

docker run -d -p --name nginx02 -v named-nginx:/etc/nginx nginx
docker volume inspect named-nginx ^check named mount

docker volume --help
docker volume ls

DOCKERFILE
touch dockerfile1

FROM centos
VOLUME [“volume01”,“volume02”]
CMD echo “-------end------”
CMD /bin/bash

docker build -f dockerfile1 -t jack/centos .

docker images
docker run
docker push #to dockerhub, aliyun
many mysql date sharing,keep synchronization

#dockerfile command
FROM centos scratch
ARINAINER jack 1@qq.com
RUN
ADD tomcat
WORKDIR
VOLUME
EXPOSE
RUN
CMD
ENTRYPOINT
ONBUILD
COPY
ENV

test
touch mydockerfile

FROM centos
MAINTAINER jakc23@q.com
ENV MYPATH /usr/local
WORKDIR $MYPATH

RUN yum -y install vim
RUN yum -y install net-tools

EXPOSE 80
CMD echo $MYPATH
CMD echo “—ebd—”
CMD /bin/bash

docker build -f mydockerfile-centos -t mycentos:0.1 .
docker images
docker run -it mycentos:0.1
docker history
docker history containerid

touch mydockerfile2

FROM centos
CMD [“ls”,“-a”] ENTRYPOINT [“ls”,“-a”]

docker build -f mydockerfile2 -t cmdtest .
docker run mydockerfile2id
docker run mydockerfile2id -l

#build tomcat image
#download tomcat.tar.gz jdk.tar.gz
touch readme.txt
vim Dockerfile

FROM centos
MAINTAINER jack123@qq.com
COPY readme.txt /usr/local/readme.txt
ADD jdk.tar.gz /usr/local
ADD tomcat.tar.gz /usr/local
RUN yum -y install vim
ENV MYPATH /usr/local
WORKDIR $MYPATH
ENV JAVA_HOME /usr/local/jdk1.8.0_11
ENV CLASSPATH J A V A H O M E / l i b / d t . j a r : JAVA_HOME/lib/dt.jar: JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.22
ENV CATALINA_BASH /usr/local/apache-tomcat-9.0.22
ENV PATH P A T H : PATH: PATH:JAVA_HOME/bin: C A T A L I N A H O M E / l i b : CATALINA_HOME/lib: CATALINAHOME/lib:CATALINA_HOME/bin
EXPOSE 8080
CMD /usr/local/apache-tomcat-9.0.22/bin/startup.sh && tail -F /url/local/apache-tomcat-9.0.22/bin/logs/catalina.out

docker build -t jacktomcat

docker images
docker run id

curl localhost:9090

deploy complete!

PUBLISH PUSH IMAGES TO DOCKER HUB , ALIYUN
#regist hub.docker.com and login
docker login --help
docker login -u jack
Password:
docker images
docker push jacktomcat:1.0
docker tag jacktomcatid kuangshen/tomcat:1.0
docker push kuangshen/tomcat:1.0

#login aliyun
docker login --username=************** registry.cn-beijing.aliyuncs.com
Password:
docker tag *******************
docker images
docker push id

docker save --help

docker load --help

DOCKERNETWORK
#docker 0
ip addr
docker run -d -P --name tomcat01 tomcat
docker exec -it tomcat01 ip addr
ping 172.****
ip addr

–link
docker exec -it tomcat01 ping tomcat02
docker run -d -P --name tomcat02 --link tomcat01 tomcat
docker exec -it tomcat01 ping tomcat02 ^connect
docker exec -it tomcat02 ping tomcat 01 ^no connect

docker network --help
docker network ls
docker network rm name
docker run -d -p --name tamcat01 --net bridge tomcat
docker network creat --help
docker network creat --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet
docker network ls
docker network inspect mynet
docker run -d -P --name tomcat-net-01 --net mynet tomcat
docker run -d -P --name tomcat-net-02 --net mynet tomcat
docker network inspect
docker exec -it tomcat01 ping tomcat02 ^connect

NETWORK CONNECT UNICOM
docker network connect --help
docker network connect mynet comcat01
docker exec -it tomcat01 ping tomcat-net-01 ^connect

DOCKERCOMPOSE
#deploy redis cluster grou
docker network create redis --subnet 172.38.0.0/16
docker network ls
docker network inspect redis
--------- ^shell script
for port in ( s e q 16 ) ;   d o   m k d i r − p / m y d a t a / r e d i s / n o d e − (seq 1 6); \ do \ mkdir -p /mydata/redis/node- (seq16); do mkdirp/mydata/redis/node{port}/conf
touch /mydata/redis/node- p o r t / c o n f r e d i s . c o n f c a t < < E O F > / m y d a t a / r e d i s / n o d e − {port}/confredis.conf cat <<EOF >/mydata/redis/node- port/confredis.confcat<<EOF>/mydata/redis/node{port}/conf/redis.conf
port 6379
bind 0.0.0.0
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
cluster-announce-ip 172.38.0.1${port}
cluster-announce-port 6379
cluster-announce-bus-port 16379
appendonly yes
EOF
done

cd /mydata/
ls
cd redis/
ls

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值